| From: | shveta malik <shveta(dot)malik(at)gmail(dot)com> | 
|---|---|
| To: | Ajin Cherian <itsajin(at)gmail(dot)com> | 
| Cc: | Japin Li <japinli(at)hotmail(dot)com>, Ashutosh Bapat <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com>, Ashutosh Sharma <ashu(dot)coek88(at)gmail(dot)com>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org>, shveta malik <shveta(dot)malik(at)gmail(dot)com> | 
| Subject: | Re: Improve pg_sync_replication_slots() to wait for primary to advance | 
| Date: | 2025-11-04 06:23:34 | 
| Message-ID: | CAJpy0uBHg+nNRFnOWcuDWRtx7rCRO0=n+V4bfOGYdkH_iJ_Gzw@mail.gmail.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
>
> I have addressed the above comments in patch v21.
>
Thank You. Please find a few comments:
1)
+ fparams.slot_names = slot_names = NIL;
I think it is not needed to set slot_names to NIL.
2)
-    WAIT_EVENT_REPLICATION_SLOTSYNC_MAIN);
+    WAIT_EVENT_REPLICATION_SLOTSYNC_PRIMARY_CATCHUP);
The new name does not seem appropriate. For the slotsync-worker case,
even when the primary is not behind, the worker still waits but it is
not waiting for primary to catch-up. I could not find a better name
except the original one 'WAIT_EVENT_REPLICATION_SLOTSYNC_MAIN'. We can
change the explanation to :
"Waiting in main loop of slot sync worker and slot sync API."
Or
"Waiting in main loop of slot synchronization."
If anyone has any better name suggestions, we can consider changing.
3)
+# Attempt to synchronize slots using API. The API will continue retrying
+# synchronization until the remote slot catches up with the locally reserved
+# position. The API will not return until this happens, to be able to make
+# further calls, call the API in a background process.
Shall we remove 'with the locally reserved position', it’s already
explained in the test header and the comment is good enough even
without it.
4)
+# Confirm log that the slot has been synced after becoming sync-ready.
Shall we just say:
Confirm from the log that the slot is sync-ready now.
5)
 # Synchronize the primary server slots to the standby.
 $standby1->safe_psql('postgres', "SELECT pg_sync_replication_slots();");
@@ -945,6 +1007,7 @@ $subscriber1->safe_psql('postgres',
 is( $standby1->safe_psql(
  'postgres',
  q{SELECT count(*) = 2 FROM pg_replication_slots WHERE slot_name IN
('lsub1_slot', 'snap_test_slot') AND synced AND NOT temporary;}
+
  ),
Redundant change.
thanks
Shveta
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tristan Partin | 2025-11-04 06:25:05 | Re: meson's in-tree libpq header search order vs -Dextra_include_dirs | 
| Previous Message | Tristan Partin | 2025-11-04 06:17:45 | Re: meson's in-tree libpq header search order vs -Dextra_include_dirs |