Re: Re: In-core regression tests for replication, cascading, archiving, PITR, etc.
Michael Paquier <michael.paquier@gmail.com>
From: Michael Paquier <michael.paquier@gmail.com>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Amir Rohan <amir.rohan@mail.com>, Noah Misch <noah@leadboat.com>,
Andres Freund <andres@2ndquadrant.com>,
PostgreSQL mailing lists <pgsql-hackers@postgresql.org>,
Greg Smith <gsmith@gregsmith.com>
Date: 2015-10-07T06:27:32Z
Lists: pgsql-hackers
Attachments
- 20151007_recovery_regressions_v7.patch (text/x-diff) patch v7
On Wed, Oct 7, 2015 at 7:51 AM, Michael Paquier <michael.paquier@gmail.com> wrote: > On Wed, Oct 7, 2015 at 7:43 AM, Michael Paquier > <michael.paquier@gmail.com> wrote: >> On Wed, Oct 7, 2015 at 5:58 AM, Robert Haas wrote: >>> On Sat, Oct 3, 2015 at 7:38 AM, Michael Paquier wrote: >>> It seems that these days 'make check' creates a directory in /tmp >>> called /tmp/pg_regress-RANDOMSTUFF. Listening on TCP ports is >>> disabled, and the socket goes inside this directory with a name like >>> .s.PGSQL.PORT. You can connect with psql -h >>> /tmp/pg_regress-RANDOMSTUFF -p PORT, but not over TCP. This basically >>> removes the risk of TCP port number collisions, as well as the risk of >>> your temporary instance being hijacked by a malicious user on the same >>> machine. >> >> Right, that's for example /var/folders/ on OSX, and this is defined >> once per test run via $tempdir_short. PGHOST is set to that as well. > > Er, mistake here. That's actually once per standard_initdb, except > that all the tests I have included in my patch run it just once to > create a master node. It seems that it would be wiser to set one > socket dir per node then, remove the port assignment stuff, and use > tempdir_short as a key to define a node as well as in the connection > string to this node. I'll update the patch later today... So, my conclusion regarding multiple calls of make_master is that we should not allow to do it. On Unix/Linux we could have a separate unix socket directory for each node, but not on Windows where listen_addresses is set to look after 127.0.0.1. On Unix/Linux, PGHOST is set by the master node to a tempdir once and for all. Hence, to make the code more consistent, I think that we should keep the port lookup machinery here. An updated patch is attached. -- Michael
Commits
-
Add a test framework for recovery
- 49148645f7f3 9.6.0 landed
-
Refactor Perl test code
- 1caef31d9e55 9.6.0 cited
-
pgindent run for 9.5
- 807b9e0dff66 9.5.0 cited