On Mon, Nov 21, 2022 at 10:40 AM sirisha chamarthi <
sirichamarth...@gmail.com> wrote:

>
>
> On Mon, Nov 21, 2022 at 10:11 AM Alvaro Herrera <alvhe...@alvh.no-ip.org>
> wrote:
>
>> On 2022-Nov-21, sirisha chamarthi wrote:
>>
>> > It appears to be. wal_sender is setting restart_lsn to a valid LSN even
>> > when the slot is invalidated.
>>
>> > postgres@pgvm:~$ /usr/local/pgsql/bin/pg_receivewal -S s1 -D .
>> > pg_receivewal: error: unexpected termination of replication stream:
>> ERROR:
>> >  requested WAL segment 0000000100000000000000EB has already been removed
>> > pg_receivewal: disconnected; waiting 5 seconds to try again
>> > ^Cpostgres@pgvm:~$ /usr/local/pgsql/bin/psql
>> > psql (16devel)
>> > Type "help" for help.
>> >
>> > postgres=# select * from pg_replication_slots;
>> > server closed the connection unexpectedly
>> >         This probably means the server terminated abnormally
>> >         before or while processing the request.
>>
>> Whoa, I cannot reproduce this :-(
>>
>
> I have a old .partial file in the data directory to reproduce this.
>
> postgres=# select * from pg_replication_slots;
>  slot_name | plugin | slot_type | datoid | database | temporary | active |
> active_pid | xmin | catalog_xmin | restart_lsn | confirmed_flush_lsn |
> wal_status | safe_wal_size | two_phase
>
> -----------+--------+-----------+--------+----------+-----------+--------+------------+------+--------------+-------------+---------------------+------------+---------------+-----------
>  s2        |        | physical  |        |          | f         | f      |
>            |      |              | 2/DC000000  |                     | lost
>       |               | f
> (1 row)
>
> postgres=# \q
> postgres@pgvm:~$ ls
> 0000000100000002000000D8  0000000100000002000000D9
>  0000000100000002000000DA  0000000100000002000000DB
>  0000000100000002000000DC.partial
>

Just to be clear, it was hitting the assert I added in the slotfuncs.c but
not in the code you mentioned. Apologies for the confusion. Also it appears
in the above case I mentioned, the slot is not invalidated yet as the
checkpointer did not run though the state says it is lost.



>
>
>>
>> --
>> Álvaro Herrera        Breisgau, Deutschland  —
>> https://www.EnterpriseDB.com/
>> "Java is clearly an example of money oriented programming"  (A. Stepanov)
>>
>

Reply via email to