Re: Re: [BUGS] Tests randomly failed

From: "Richard T(dot) Robino" <rickspam(at)wavedivision(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Alexander Klimov <ask(at)wisdom(dot)weizmann(dot)ac(dot)il>
Cc: Justin Clift <jclift(at)iprimus(dot)com(dot)au>, <pgsql-hackers(at)postgresql(dot)org>, Peter Eisentraut <peter_e(at)gmx(dot)net>
Subject: Re: Re: [BUGS] Tests randomly failed
Date: 2001-03-28 12:36:12
Message-ID: B6E71ABC.332E%rickspam@wavedivision.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 3/27/01 8:05 AM, "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:

> Alexander Klimov <ask(at)wisdom(dot)weizmann(dot)ac(dot)il> writes:
>> Yes, it was really just incidence -- I try again, and 15 of 15 `make
>> check' passed with TCP sockets, but only 3 of 15 passed with UNIX
>> sockets. So, final decision is `Unix sockets are not relaible on Solaris'
>
> So, shall we change pg_regress.sh to not use Unix sockets on Solaris?

Doh! I just submitted a patch to change pg_regress.sh before reading all of
today's posts. Oh well, it was small.

> This would potentially cause problems for "make installcheck", if the
> postmaster was not started with -i. I suspect the socket problems are
> only seen when many clients try to connect at the same time, so the
> parallel regression tests are more prone to trouble than serial.
> Perhaps for Solaris, go to TCP only if it's parallel mode?

So just ignore my patch, as it makes pg_regress never use sockets with any
solaris in any mode. However, if you don't want to go with Peter E's #ifdef
solution there may be an easier way which is not dangerous at all. Adding a
--with-sockets option to pg_regress.sh would be trivial and allow one to
test either kind of socket on any platform.

Most people who just want to feel good about the build aren't going to do
much about fixing the unix sockets, and are probably not using them anyway.
Since a default will have to be picked, the one that shows all tests passing
will save some noise.

However, both sockets may need to be checked during regression to detect the
problems Peter mentions. Since there is also a conflict with OpenSSL and
Solaris' crypt, I can see some sun folks opting for running the database
locally as a hedge for trust in a single tier (DMZ) app scenario.

Anyway, after messing around with the script tonight I just wanted to chime
in that pg_regress.sh could use some improvement:

- A more specific postmaster startup for a normal make check which says
whether inet or unix sockets will be used. If you aren't aware of the
problem on solaris and don't check netstat, the message is generic and there
is a socket file in /tmp regardless of what type of socket gets used. Kind
of subtle.

- Maybe consistency in the script itself. Judging by the different styles of
testing and the output between the --temp-install conditions, it appears as
if each section was written by two different people. It could be cleaned up
pretty fast and quite safely.

Not anything that important, but in the interest of making things easier to
understand these changes could be helpful (IMO). At the very least a mention
of the socket thing in regress/README or the Solaris FAQ would be handy. I'd
be happy to do any of the above if you think they are good ideas. If you're
already on it, nevermind and thank you.

Cheers,

-- Rick

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Pete Forman 2001-03-28 13:26:10 Re: RC1 core dumps in initdb on Solaris 2.6
Previous Message Bruce Momjian 2001-03-28 12:20:09 Re: Feature Request: ALTER FUNCTION (or something like that)