Re: Re: BUGFIX: standby disconnect can corrupt serialized reorder buffers

From: Craig Ringer <craig(at)2ndquadrant(dot)com>
To: David Steele <david(at)pgmasters(dot)net>
Cc: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>, Andres Freund <andres(at)anarazel(dot)de>
Subject: Re: Re: BUGFIX: standby disconnect can corrupt serialized reorder buffers
Date: 2018-03-06 08:07:32
Message-ID: CAMsr+YEo=gd3u8hWCYC9JE=Y-z6=EjoHyVJ0SV1qjAVD-5iTfw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 6 March 2018 at 09:58, Craig Ringer <craig(at)2ndquadrant(dot)com> wrote:

> On 5 March 2018 at 23:25, David Steele <david(at)pgmasters(dot)net> wrote:
>
>> Hi Craig,
>>
>> On 1/21/18 5:45 PM, Craig Ringer wrote:
>> > On 6 January 2018 at 08:28, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org
>> > <mailto:alvherre(at)alvh(dot)no-ip(dot)org>> wrote:
>> >
>> > I think this should use ReadDirExtended with an elevel less than
>> ERROR,
>> > and do nothing.
>> >
>> > Why have strcmp(.) and strcmp(..)? These are going to be skipped
>> by the
>> > comparison to "xid" prefix anyway. Looks like strcmp processing
>> > power waste.
>> >
>> > Please don't use bare sprintf() -- upgrade to snprintf.
>> >
>> > With this coding, if I put a root-owned file "xidfoo" in a replslot
>> > directory, it will PANIC the server. Is that okay? Why not read
>> the
>> > file name with sscanf(), since we know the precise format it has?
>> Then
>> > we don't need to bother with random crap left around. Maybe a good
>> time
>> > to put the "xid-%u-lsn-%X-%X.snap" literal in a macro? I guess the
>> > rationale is that if you let random people put "xidfoo" files in
>> your
>> > replication slot dirs, you deserve a PANIC anyway, but I'm not sure.
>> >
>> > I'm happy to address those comments.
>> >
>> > The PANIC probably made sense when it was only done on startup, but not
>> > now it's at runtime.
>> >
>> > The rest is mainly retained from the prior code, but it's a good chance
>> > to make those changes.
>> This patch was marked Waiting on Author last December. Do you know when
>> you'll have a chance to provide an updated patch?
>>
>> Given that it's a bug fix it would be good to see a patch for this CF,
>> or very soon after.
>>
>>
> Thanks for the reminder. I'll address it today if I can.
>
>
Revised patch attached.

I have _not_ rewritten to use sscanf yet. I'll do that next, so you can
choose the fewer-changes patch for backpatching if desired.

--
Craig Ringer http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

Attachment Content-Type Size
v2-0001-Clean-up-reorder-buffer-files-when-starting-logic.patch text/x-patch 6.7 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Pavel Stehule 2018-03-06 08:35:29 Re: INOUT parameters in procedures
Previous Message Ildar Musin 2018-03-06 07:57:27 Re: using index or check in ALTER TABLE SET NOT NULL