Re: logical replication and PANIC during shutdown checkpoint in publisher
Michael Paquier <michael.paquier@gmail.com>
From: Michael Paquier <michael.paquier@gmail.com>
To: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Cc: Petr Jelinek <petr.jelinek@2ndquadrant.com>,
Andres Freund <andres@anarazel.de>, Fujii Masao <masao.fujii@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2017-05-05T05:26:00Z
Lists: pgsql-hackers
Attachments
- v4-0001-Prevent-panic-during-shutdown-checkpoint.patch (text/x-patch) patch v4-0001
On Wed, May 3, 2017 at 12:25 AM, Peter Eisentraut <peter.eisentraut@2ndquadrant.com> wrote: > On 5/2/17 10:08, Michael Paquier wrote: >> On Tue, May 2, 2017 at 9:30 PM, Peter Eisentraut >> <peter.eisentraut@2ndquadrant.com> wrote: >>> On 5/2/17 03:11, Petr Jelinek wrote: >>>> logical decoding can theoretically >>>> do HOT pruning (even if the chance is really small) so it's not safe to >>>> start logical replication either. >>> >>> This seems a bit impossible to resolve. On the one hand, we want to >>> allow streaming until after the shutdown checkpoint. On the other hand, >>> streaming itself might produce new WAL. >> >> It would be nice to split things into two: >> - patch 1 adding the signal handling that wins a backpatch. >> - patch 2 fixing the side cases with logical decoding. > > The side cases with logical decoding are also not new and would need > backpatching, AIUI. Okay, I thought that there was some new concept part of logical replication here. >>> Can we prevent HOT pruning during logical decoding? >> >> It does not sound much difficult to do, couldn't you just make it a >> no-op with am_walsender? > > That's my hope. The only code path doing HOT-pruning and generating WAL is heap_page_prune(). Do you think that we need to worry about FPWs as well? Attached is an updated patch, which also forbids the run of any replication commands when the stopping state is reached. -- Michael
Commits
-
Prevent possibility of panics during shutdown checkpoint.
- 862204aaceb1 9.6.4 landed
- 50581f2e74fa 9.5.8 landed
- 1cdc0ab9c180 9.4.13 landed
- c6c333436491 10.0 landed
-
Revert "Prevent panic during shutdown checkpoint"
- 703f148e98ec 10.0 landed
-
Prevent panic during shutdown checkpoint
- 086221cf6b17 10.0 cited