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

Attachment: v5-0001-Track-invalidation_reason-in-pg_replication_slots.patch
Description: Binary data

Attachment: v5-0002-Add-XID-based-replication-slot-invalidation.patch
Description: Binary data

Attachment: v5-0003-Track-inactive-replication-slot-information.patch
Description: Binary data

Attachment: v5-0004-Add-inactive_timeout-based-replication-slot-inval.patch
Description: Binary data

Reply via email to