pg_upgrade test script creates port conflicts in parallel testing

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-hackers(at)postgreSQL(dot)org
Subject: pg_upgrade test script creates port conflicts in parallel testing
Date: 2013-01-03 17:58:01
Message-ID: 19122.1357235881@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I've been getting complaints lately about failures of parallel builds
of the Fedora Postgres RPMs on the same machine. I just figured out
what's going on: the pg_upgrade regression test script starts test
postmasters using the default value of listen_addresses, which means
that they try to bind to TCP port 50432 on localhost, which means the
test fails if there's more than one concurrent instance. This does
not happen for the main regression tests, nor for any other contrib
module, because pg_regress.c's postmaster-starting code explicitly
sets listen_addresses to empty, so that only the Unix socket is
active. (RPM building in Fedora generally happens in a chroot, so
there is no conflict of Unix sockets - they're not in the same /tmp.)

pg_upgrade itself also sets listen_addresses to empty; it's only
the test script that hasn't gotten the memo.

Does anyone have an objection to fixing the pg_upgrade test script
to suppress the TCP socket?

regards, tom lane

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Heikki Linnakangas 2013-01-03 18:01:41 pgsql: Tolerate timeline switches while "pg_basebackup -X fetch" is run
Previous Message Christopher Browne 2013-01-03 17:54:45 Re: Re: Proposal: Store "timestamptz" of database creation on "pg_database"