Re: Server crash in pg_replication_slot_advance function
От | amul sul |
---|---|
Тема | Re: Server crash in pg_replication_slot_advance function |
Дата | |
Msg-id | CAAJ_b9721pXZST4tGs+NPbjRxXF7gmrEomVhTW_Pa2QFD7Lr1A@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Server crash in pg_replication_slot_advance function (amul sul <sulamul@gmail.com>) |
Ответы |
Re: Server crash in pg_replication_slot_advance function
Re: Server crash in pg_replication_slot_advance function Re: Server crash in pg_replication_slot_advance function |
Список | pgsql-hackers |
On Fri, Feb 16, 2018 at 3:06 PM, amul sul <sulamul@gmail.com> wrote: > 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 > Attached patch proposes a required fix. Regards, Amul
Вложения
В списке pgsql-hackers по дате отправления: