Re: Server crash in pg_replication_slot_advance function

Поиск
Список
Период
Сортировка
От amul sul
Тема Re: Server crash in pg_replication_slot_advance function
Дата
Msg-id CAAJ_b95E_-KUq4Vx802tGGuTJfnSnyPXbhuL-uDWKre6bn6r4g@mail.gmail.com
обсуждение исходный текст
Ответ на Server crash in pg_replication_slot_advance function  (tushar <tushar.ahuja@enterprisedb.com>)
Ответы Re: Server crash in pg_replication_slot_advance function
Список pgsql-hackers
On Fri, Feb 16, 2018 at 1:44 PM, tushar <tushar.ahuja@enterprisedb.com> wrote:
> Hi,
[....]
> postgres=# SELECT end_lsn FROM
> pg_replication_slot_advance('regression_slot1', '0/2000071');
> server closed the connection unexpectedly
> This probably means the server terminated abnormally
>  before or while processing the request.
> !>
>

I am able to reproduce this on the latest master head, the problem is in the
following hunk of pg_replication_slot_advance() where oldest LSN value
is accessed after releasing replication slot:


476     if (moveto < startlsn)
477     {
478         ReplicationSlotRelease();
479         ereport(ERROR,
480                 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
481                  errmsg("cannot move slot to %X/%X, minimum is %X/%X",
482                         (uint32) (moveto >> 32), (uint32) moveto,
483                         (uint32)
(MyReplicationSlot->data.confirmed_flush >> 32),
484                         (uint32)
(MyReplicationSlot->data.confirmed_flush))));
485     }
486

Regards,
Amul


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

Предыдущее
От: Amit Langote
Дата:
Сообщение: Re: non-bulk inserts and tuple routing
Следующее
От: tushar
Дата:
Сообщение: After an error - pg_replication_slot is dropped