|From:||Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>|
|To:||Peter Eisentraut <peter_e(at)gmx(dot)net>|
|Cc:||Michael Paquier <michael(dot)paquier(at)gmail(dot)com>, PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org>|
|Subject:||Re: Fix handling of invalid sockets returned by PQsocket()|
|Views:||Raw Message | Whole Thread | Download mbox | Resend email|
Peter Eisentraut wrote:
> On 2/17/16 10:52 PM, Michael Paquier wrote:
> > On Thu, Feb 18, 2016 at 1:58 AM, Alvaro Herrera
> > <alvherre(at)2ndquadrant(dot)com> wrote:
> >> Michael Paquier wrote:
> >>> Hi all,
> >>> After looking at Alvaro's message mentioning the handling of
> >>> PQsocket() for invalid sockets, I just had a look by curiosity at
> >>> other calls of this routine, and found a couple of issues:
> >>> 1) In vacuumdb.c, init_slot() does not check for the return value of PQsocket():
> >>> slot->sock = PQsocket(conn);
> >>> 2) In isolationtester.c, try_complete_step() should do the same.
> >>> 3) In pg_recvlogical.c for StreamLogicalLog() I am spotting the same problem.
> >>> I guess those ones should be fixed as well, no?
> >> I patched pgbench to use PQerrorMessage rather than strerror(errno). I
> >> think your patch should do the same.
> > OK, this looks like a good idea. I would suggest doing the same in
> > receivelog.c then.
> Let's make the error messages consistent as "invalid socket". "bad
> socket" isn't really our style, and pg_basebackup saying "socket not
> open" is just plain incorrect.
You're completely right. Let's patch pgbench that way too.
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
|Next Message||Andres Freund||2016-03-06 03:54:05||Re: silent data loss with ext4 / all current versions|
|Previous Message||Tom Lane||2016-03-06 01:38:35||Re: WIP: Upper planner pathification|