From: | Kyotaro HORIGUCHI <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp> |
---|---|
To: | michael(dot)paquier(at)gmail(dot)com |
Cc: | nag1010(at)gmail(dot)com, jdnelson(at)dyn(dot)com, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: [BUGS] Bug in Physical Replication Slots (at least 9.5)? |
Date: | 2017-09-04 06:51:51 |
Message-ID: | 20170904.155151.168399829.horiguchi.kyotaro@lab.ntt.co.jp |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs pgsql-hackers |
Hello,
Thank you for reviewing this.
At Mon, 28 Aug 2017 20:14:54 +0900, Michael Paquier <michael(dot)paquier(at)gmail(dot)com> wrote in <CAB7nPqT03+uaHXun3ft4LJWNDviKTgWSZDsXiqyNdtcCfeqcgg(at)mail(dot)gmail(dot)com>
> On Mon, Aug 28, 2017 at 8:02 PM, Kyotaro HORIGUCHI
> <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp> wrote:
> > The first patch (0001-) fixes this problem, preventing the
> > problematic state of WAL segments by retarding restart LSN of a
> > physical replication slot in a certain condition.
>
> FWIW, I have this patch marked on my list of things to look at, so you
> can count me as a reviewer. There are also some approaches that I
> would like to test because I rely on replication slots for some
> infrastructure. Still...
This test patch modifies the code for easiness. The window for
this bug to occur is from receiving the first record of a segment
to in most cases receiving the second record or after receiving
several records. Intentionally emitting a record spanning two or
more segments would work?
> + if (oldFlushPtr != InvalidXLogRecPtr &&
> + (restartLSN == InvalidXLogRecPtr ?
> + oldFlushPtr / XLOG_SEG_SIZE != flushPtr / XLOG_SEG_SIZE :
> + restartLSN / XLOG_BLCKSZ != flushPtr / XLOG_BLCKSZ))
> I find such code patterns not readable.
Yeah, I agree. I rewrote there and the result in the attached
patch is far cleaner than the blob.
regards,
--
Kyotaro Horiguchi
NTT Open Source Software Center
Attachment | Content-Type | Size |
---|---|---|
0001-Retard-restart-LSN-of-a-slot-when-a-segment-starts-w.patch | text/x-patch | 7.7 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2017-09-04 07:04:34 | Re: [BUGS] Bug in Physical Replication Slots (at least 9.5)? |
Previous Message | tobias.conradi | 2017-09-03 14:06:44 | BUG #14795: date format not ISO 8601 |
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2017-09-04 07:04:34 | Re: [BUGS] Bug in Physical Replication Slots (at least 9.5)? |
Previous Message | Tatsuro Yamada | 2017-09-04 06:45:17 | Re: Minor code improvement to postgresGetForeignPlan |