Re: Catalog_xmin is not advanced when a logical slot is lost - Mailing list pgsql-hackers

From sirisha chamarthi
Subject Re: Catalog_xmin is not advanced when a logical slot is lost
Date
Msg-id CAKrAKeV-j+=MNHyPA=iKN-WAALBxFanfF+QgR6JRBT=sWAYVCw@mail.gmail.com
Whole thread Raw
In response to Re: Catalog_xmin is not advanced when a logical slot is lost  (Alvaro Herrera <alvherre@alvh.no-ip.org>)
Responses Re: Catalog_xmin is not advanced when a logical slot is lost
Re: Catalog_xmin is not advanced when a logical slot is lost
List pgsql-hackers


On Mon, Nov 21, 2022 at 10:11 AM Alvaro Herrera <alvherre@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 
 

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

pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: Damage control for planner's get_actual_variable_endpoint() runaway
Next
From: Simon Riggs
Date:
Subject: Re: Damage control for planner's get_actual_variable_endpoint() runaway