Re: logical replication: restart_lsn can go backwards (and more), seems broken since 9.4
Masahiko Sawada <sawada.mshk@gmail.com>
From: Masahiko Sawada <sawada.mshk@gmail.com>
To: Tomas Vondra <tomas@vondra.me>
Cc: Amit Kapila <amit.kapila16@gmail.com>,
Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2024-11-14T01:37:40Z
Lists: pgsql-hackers
Attachments
- v1-0001-Fix-a-possibility-of-logical-replication-slot-s-r.patch (application/octet-stream) patch v1-0001
On Wed, Nov 13, 2024 at 3:47 PM Tomas Vondra <tomas@vondra.me> wrote: > > > > On 11/14/24 00:33, Masahiko Sawada wrote: > > On Wed, Nov 13, 2024 at 3:53 AM Tomas Vondra <tomas@vondra.me> wrote: > >> > >> > >> > >> On 11/13/24 10:38, Amit Kapila wrote: > >>> On Tue, Nov 12, 2024 at 6:29 PM Tomas Vondra <tomas@vondra.me> wrote: > >>>> > >>>> Sure, maybe fixing LogicalIncreaseRestartDecodingForSlot() is enough to > >>>> fix this particular case. But I'd be happier if we could also add > >>>> asserts checking the LSN advances, to detect similar issues that we may > >>>> be unaware of yet. > >>>> > >>> > >>> As most of us lean towards fixing > >>> LogicalIncreaseRestartDecodingForSlot(), let's fix that in the HEAD > >>> and back branches. Separately we can consider other asserts just for > >>> HEAD that you think will make the code robust and help avoid such bugs > >>> in the future. > >>> > >> > >> +1 to that > >> > > > > +1. > > > > Tomas, are you going to update the patch you shared before[1] or shall I? > > > > Please feel free to take over. I'm busy with some other stuff and the > initial analysis was done by you anyway. Sure. I've attached the updated patch. I just added the commit message. Regards, -- Masahiko Sawada Amazon Web Services: https://aws.amazon.com
Commits
-
Fix a possibility of logical replication slot's restart_lsn going backwards.
- e5ed873b1b4a 18.0 landed
- 568e78a653ee 17.2 landed
- f353911337cf 16.6 landed
- 91771b3fbbc3 15.10 landed
- 26c4e8968690 14.15 landed
- 15dc1abb17dd 13.18 landed
-
Introduce logical decoding.
- b89e151054a0 9.4.0 cited