Thanks for verifying the fix and improving the test, Xuneng.
The wait_for_event() synchronization is a nice addition — it gives
deterministic proof that the walreceiver actually entered the
upstream-catchup path. The scoped log window with slurp_file() is
also cleaner than the broad log_contains() I had before.
The v3 test improvements look good to me.
Best regards,
Marco