Dear Amit, Bertrand, > The other idea to simplify the changes for backbranches: > sub reactive_slots_change_hfs_and_wait_for_xmins > { > ... > + my ($slot_prefix, $hsf, $invalidated, $needs_active_slot) = @_; > > # create the logical slots > - create_logical_slots($node_standby, $slot_prefix); > + create_logical_slots($node_standby, $slot_prefix, $needs_active_slot); > > ... > + if ($needs_active_slot) > + { > + $handle = > + make_slot_active($node_standby, $slot_prefix, 1, \$stdout, \$stderr); > + } > > What if this function doesn't take input parameter needs_active_slot > and rather removes the call to make_slot_active? We will call > make_slot_active only at the required places. This should make the > changes much less because after that, we don't need to make changes > related to drop and create. Sure, in some cases, we will test two > inactive slots instead of one, but I guess that would be the price to > keep the tests simple and more like HEAD.
Actually, I could not decide which one is better, so let me share both drafts. V5-PG17-1 uses the previous approach, and v5-PG17-2 uses new proposed one. Bertrand, which one do you like? Best regards, Hayato Kuroda FUJITSU LIMITED
v5-PG17-1-0001-Stabilize-035_standby_logical_decoding.pl.patch
Description: v5-PG17-1-0001-Stabilize-035_standby_logical_decoding.pl.patch
v5-PG17-2-0001-Stabilize-035_standby_logical_decoding.pl.patch
Description: v5-PG17-2-0001-Stabilize-035_standby_logical_decoding.pl.patch