Re: Disallow changing slot's failover option in transaction block - Mailing list pgsql-hackers

From Bertrand Drouvot
Subject Re: Disallow changing slot's failover option in transaction block
Date
Msg-id Zh4o3OAzPFFDIW+f@ip-10-97-1-34.eu-west-3.compute.internal
Whole thread Raw
In response to Disallow changing slot's failover option in transaction block  ("Zhijie Hou (Fujitsu)" <houzj.fnst@fujitsu.com>)
List pgsql-hackers
Hi,

On Tue, Apr 16, 2024 at 06:32:11AM +0000, Zhijie Hou (Fujitsu) wrote:
> Hi,
> 
> Kuroda-San reported an issue off-list that:
> 
> If user execute ALTER SUBSCRIPTION SET (failover) command inside a txn block
> and rollback, only the subscription option change can be rolled back, while the
> replication slot's failover change is preserved.

Nice catch, thanks!

> To fix it, I think we can prevent user from executing ALTER SUBSCRIPTION set
> (failover) inside a txn block, which is also consistent to the ALTER
> SUBSCRIPTION REFRESH/DROP SUBSCRIPTION command. Attach a small
> patch to address this.

Agree. The patch looks pretty straightforward to me. Worth to add this
case in the doc? (where we already mention that "Commands ALTER SUBSCRIPTION ...
REFRESH PUBLICATION and ALTER SUBSCRIPTION ... {SET|ADD|DROP} PUBLICATION ...
with refresh option as true cannot be executed inside a transaction block"

Regards,

-- 
Bertrand Drouvot
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com



pgsql-hackers by date:

Previous
From: Quan Zongliang
Date:
Subject: Re: Fix log_line_prefix to display the transaction id (%x) for statements not in a transaction block
Next
From: Ajin Cherian
Date:
Subject: Re: Slow catchup of 2PC (twophase) transactions on replica in LR