On Fri, Feb 16, 2018 at 6:55 PM, amul sul <sula...@gmail.com> wrote: > On Fri, Feb 16, 2018 at 3:06 PM, amul sul <sula...@gmail.com> wrote: >> On Fri, Feb 16, 2018 at 1:44 PM, tushar <tushar.ah...@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. >
The change looks good to me. Thank you. Regards, -- Masahiko Sawada NIPPON TELEGRAPH AND TELEPHONE CORPORATION NTT Open Source Software Center