RE: Fix slot synchronization with two_phase decoding enabled
Zhijie Hou (Fujitsu) <houzj.fnst@fujitsu.com>
From: "Zhijie Hou (Fujitsu)" <houzj.fnst@fujitsu.com>
To: Amit Kapila <amit.kapila16@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, "Hayato Kuroda
(Fujitsu)" <kuroda.hayato@fujitsu.com>
Date: 2025-04-02T05:55:37Z
Lists: pgsql-hackers
Attachments
- v4-0001-HEAD-Fix-slot-synchronization-for-two_phase-enables-sl.patch (application/octet-stream) patch v4-0001
- v4-0002-PG17-Fix-slot-synchronization-for-two_phase-enables-sl.patch.txt (text/plain)
On Wed, Apr 2, 2025 at 12:41 PM Amit Kapila wrote:
>
> On Tue, Apr 1, 2025 at 4:28 PM Zhijie Hou (Fujitsu)
> <houzj.fnst@fujitsu.com>
> wrote:
> >
> > Here is the V3 patch set which addressed all the comments.
> >
>
> Comment 0n 0001
> <literal>NULL</literal> for logical slots where
> + <structfield>two_phase</structfield> is false and physical slots.
> + </para></entry>
>
> change above to:
> <literal>NULL</literal> for logical slots where
> <structfield>two_phase</structfield> is false and for physical slots.
Changed.
>
> Comment on 0002
> +# Create a subscription with two_phase enabled
> +$subscriber1->safe_psql('postgres',
> + "CREATE SUBSCRIPTION regress_mysub2 CONNECTION
> '$publisher_connstr'
> PUBLICATION regress_mypub WITH (slot_name = lsub1_slot, create_slot =
> false, enabled = false, two_phase = true);"
> +);
> +
> +# Enable failover for the subscription ($result, $stdout, $stderr) =
> +$subscriber1->psql('postgres', "ALTER SUBSCRIPTION regress_mysub2
> +SET (failover = true)"); ok( $stderr =~
> +/ERROR: cannot enable failover for a two_phase
> enabled subscription/,
> + "Enabling failover is not allowed for a two_phase enabled
> + subscription");
>
> Is there a need for this test to be in .pl file? Can't we add it in .sql file?
Right, I moved the test into subscription.sql
> Apart from the above, I have made minor modifications to the PG17
> patch in the attached.
Here is V4 patch set which addressed above comments and passed
pgindent test.
Best Regards,
Hou zj
Commits
-
Don't retreat slot's confirmed_flush LSN.
- ad5eaf390c58 18.0 landed
- 7318f241d29c 17.6 landed
- c0f51fde534d 16.10 landed
- 9d1a62359606 15.14 landed
- e68459489c20 14.19 landed
- e323d9df002d 13.22 landed
-
Fix assertion failure during decoding from synced slots.
- 3ff2a1f0c9e8 18.0 landed
-
Fix xmin advancement during fast_forward decoding.
- d65485b02b1f 13.21 landed
- aaf9e95e8764 18.0 landed
- 36148b22ee09 17.5 landed
- 21a7caeeb948 16.9 landed
- f6429bd7db5e 15.13 landed
- 1f63b3626a52 14.18 landed
-
Fix slot synchronization for two_phase enabled slots.
- 4868c96bc8c6 18.0 landed
-
Again match pg_user_mappings to information_schema.user_mapping_options.
- b6e39ca92eee 9.4.13 cited