On Fri, Feb 9, 2024 at 1:12 PM Bertrand Drouvot <bertranddrouvot...@gmail.com> wrote: > > I think "conflict" is an important topic and does contain several reasons. The > slot "first" conflict and then leads to slot "invalidation". > > > They both are the same internally, so why > > confuse the users? > > I don't think that would confuse the users, I do think that would be easier to > check for conflicting slots.
I've added a separate column for invalidation reasons for now. I'll see how others think on this as the time goes by. > I did not look closely at the code, just played a bit with the patch and was > able > to produce something like: > > postgres=# select > slot_name,slot_type,active,active_pid,wal_status,invalidation_reason from > pg_replication_slots; > slot_name | slot_type | active | active_pid | wal_status | > invalidation_reason > -------------+-----------+--------+------------+------------+--------------------- > rep1 | physical | f | | reserved | > master_slot | physical | t | 1482441 | unreserved | wal_removed > (2 rows) > > does that make sense to have an "active/working" slot "ivalidated"? Thanks. Can you please provide the steps to generate this error? Are you setting max_slot_wal_keep_size on primary to generate "wal_removed"? Attached v5 patch set after rebasing and addressing review comments. Please review it further. -- Bharath Rupireddy PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com
v5-0001-Track-invalidation_reason-in-pg_replication_slots.patch
Description: Binary data
v5-0002-Add-XID-based-replication-slot-invalidation.patch
Description: Binary data
v5-0003-Track-inactive-replication-slot-information.patch
Description: Binary data
v5-0004-Add-inactive_timeout-based-replication-slot-inval.patch
Description: Binary data