Re: [HACKERS] logical replication and PANIC during shutdowncheckpoint in publisher
От | Fujii Masao |
---|---|
Тема | Re: [HACKERS] logical replication and PANIC during shutdowncheckpoint in publisher |
Дата | |
Msg-id | CAHGQGwEO-znT3iTp+AT6EFg7NZOqYbAaOG8zqNL1r0F6hc81GA@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [HACKERS] logical replication and PANIC during shutdowncheckpoint in publisher (Petr Jelinek <petr.jelinek@2ndquadrant.com>) |
Ответы |
Re: [HACKERS] logical replication and PANIC during shutdowncheckpoint in publisher
Re: [HACKERS] logical replication and PANIC during shutdowncheckpoint in publisher |
Список | pgsql-hackers |
On Fri, Apr 14, 2017 at 10:33 PM, Petr Jelinek <petr.jelinek@2ndquadrant.com> wrote: > On 12/04/17 15:55, Fujii Masao wrote: >> Hi, >> >> When I shut down the publisher while I repeated creating and dropping >> the subscription in the subscriber, the publisher emitted the following >> PANIC error during shutdown checkpoint. >> >> PANIC: concurrent transaction log activity while database system is >> shutting down >> >> The cause of this problem is that walsender for logical replication can >> generate WAL records even during shutdown checkpoint. >> >> Firstly walsender keeps running until shutdown checkpoint finishes >> so that all the WAL including shutdown checkpoint record can be >> replicated to the standby. This was safe because previously walsender >> could not generate WAL records. However this assumption became >> invalid because of logical replication. That is, currenty walsender for >> logical replication can generate WAL records, for example, by executing >> CREATE_REPLICATION_SLOT command. This is an oversight in >> logical replication patch, I think. > > Hmm, but CREATE_REPLICATION_SLOT should not generate WAL afaik. I agree > that the issue with walsender still exist (since we now allow normal SQL > to run there) but I think it's important to identify what exactly causes > the WAL activity in your case At least in my case, the following CREATE_REPLICATION_SLOT command generated WAL record. BEGIN READ ONLY ISOLATION LEVEL REPEATABLE READ; CREATE_REPLICATION_SLOT testslot TEMPORARY LOGICAL pgoutput USE_SNAPSHOT; Here is the pg_waldump output of the WAL record that CREATE_REPLICATION_SLOT generated. rmgr: Standby len (rec/tot): 24/ 50, tx: 0, lsn: 0/01601438, prev 0/01601400, desc: RUNNING_XACTS nextXid 692 latestCompletedXid 691 oldestRunningXid 692 So I guess that CREATE_REPLICATION_SLOT code calls LogStandbySnapshot() and which generates WAL record about snapshot of running transactions. Regards, -- Fujii Masao
В списке pgsql-hackers по дате отправления: