Re: Assertion failure in pg_copy_logical_replication_slot()

Поиск
Список
Период
Сортировка
От Kyotaro Horiguchi
Тема Re: Assertion failure in pg_copy_logical_replication_slot()
Дата
Msg-id 20200623.184210.1295600804239565679.horikyota.ntt@gmail.com
обсуждение исходный текст
Ответ на Assertion failure in pg_copy_logical_replication_slot()  (Fujii Masao <masao.fujii@oss.nttdata.com>)
Ответы Re: Assertion failure in pg_copy_logical_replication_slot()  (Fujii Masao <masao.fujii@oss.nttdata.com>)
Список pgsql-hackers
At Tue, 23 Jun 2020 00:17:47 +0900, Fujii Masao <masao.fujii@oss.nttdata.com> wrote in 
> Hi,
> 
> If restart_lsn of logical replication slot gets behind more than
> max_slot_wal_keep_size from the current LSN, the logical replication
> slot would be invalidated and its restart_lsn is reset to an invalid
> LSN.
> If this logical replication slot with an invalid restart_lsn is
> specified
> as the source slot in pg_copy_logical_replication_slot(), the function
> causes the following assertion failure.

Good catch!

>     TRAP: FailedAssertion("!logical_slot", File: "slotfuncs.c", Line: 727)
> 
> This assertion failure is caused by
> 
>     /* Copying non-reserved slot doesn't make sense */
>     if (XLogRecPtrIsInvalid(src_restart_lsn))
>         ereport(ERROR,
>                 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
>                  errmsg("cannot copy a replication slot that doesn't reserve
>                  WAL")));
> 
> I *guess* this assertion check was added because restart_lsn should
> not be invalid before. But in v13, it can be invalid thanks to
> max_slot_wal_keep_size.
> I think that this assertion check seems useless and should be removed
> in v13.
> Patch attached. Thought?

Your diagnosis looks correct to me. The assertion failure means that
copy_replication_slot was not exercised at least for a non-reserving
logical slots. Greping "pg_copy_logical_replication_slot" on src/test
showed nothing so I doubt we are exercising the function.

Don't we need some?

regards.

-- 
Kyotaro Horiguchi
NTT Open Source Software Center



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Daniel Danzberger
Дата:
Сообщение: Re: BUG #15293: Stored Procedure Triggered by Logical Replicationis Unable to use Notification Events
Следующее
От: Pavel Stehule
Дата:
Сообщение: Re: proposal: unescape_text function