Re: Re: [BUGS] Tests randomly failed
Richard T. Robino <rickspam@wavedivision.com>
From: "Richard T. Robino" <rickspam@wavedivision.com>
To: Tom Lane <tgl@sss.pgh.pa.us>, Alexander Klimov <ask@wisdom.weizmann.ac.il>
Cc: Justin Clift <jclift@iprimus.com.au>, <pgsql-hackers@postgresql.org>, Peter Eisentraut <peter_e@gmx.net>
Date: 2001-03-28T12:36:12Z
Lists: pgsql-hackers
On 3/27/01 8:05 AM, "Tom Lane" <tgl@sss.pgh.pa.us> wrote: > Alexander Klimov <ask@wisdom.weizmann.ac.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