Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wRguX-002bPT-0K for pgsql-hackers@arkaria.postgresql.org; Tue, 26 May 2026 01:48:49 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wRguS-002WWc-1k for pgsql-hackers@arkaria.postgresql.org; Tue, 26 May 2026 01:48:45 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wRguS-002WWT-08 for pgsql-hackers@lists.postgresql.org; Tue, 26 May 2026 01:48:45 +0000 Received: from mail-ed1-x536.google.com ([2a00:1450:4864:20::536]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wRguR-00000000meH-0a1V for pgsql-hackers@lists.postgresql.org; Tue, 26 May 2026 01:48:43 +0000 Received: by mail-ed1-x536.google.com with SMTP id 4fb4d7f45d1cf-67f94c078e8so342419a12.1 for ; Mon, 25 May 2026 18:48:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1779760120; cv=none; d=google.com; s=arc-20240605; b=V8VIm1Yi7FvAbdr4FNHA5MGYFF4g0iLYwN4LAISSALfZUyeG1qgjBKC1Od014Oq7Yl 5pqXIsY/5PVOKX31nFlp/3wrAEXrldYZ9aaumyE++BMMH2uVsQvFeagDdQppRHZbMl4E RYNQOD4vnj063ecRiD2bRdNwYTu3a091xnRUhZIUdWJY18K+0ycRHjBBKiWQfqJH3+Gb Q46w6hvNnTiccxm0OhaV0bI2bJZmG3zDqr/WxNN9Kd241quZKrRlxTvSY+PiCTwOWoxy 8NJ2xNyVpO6bWqEj0BJWQ/3xOHXSouwB0Lrg+oKXz+sctIIB/elY6YITSUQNq5bMR2Ys otng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=YlULpAEpwxfveSkxxzgE8fxNZlOFzACllTTl8bfPy88=; fh=OMF1ddLS7gjhiQTxRlVEZRrGHkliL3ilFNB1bgz09JM=; b=aO/MjMRCbMx/mJGoFGY1JOifRu6F6LHHRZCooP0aNFzk/FKj4/Wq1OTot/XWksDYhP 8LwH1ZLrMhIl4CTesIDICcv6crXASud138on4bLGC0QHdtBPUht1ybwZceCokO85vVdh kihWJux/UkQi40i8kAUfUjs6OBEP9fN16ydvay0T+Z5c8LRwDBtAHnAhT1zHY/Mc/Yc9 Vy+zcyGYZylkhDdiECGmLzT0Na1JHVqHOFpjzVScRKeG6XdHPidvn1xJm1WOSFgk3KXF fwiipGJJFJ49IyEfjydPeSKffICwmPfNnxeARTbT1zVX8MO8Bnx7dgUv0/yJ9GG/ALyH FdFQ==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779760120; x=1780364920; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=YlULpAEpwxfveSkxxzgE8fxNZlOFzACllTTl8bfPy88=; b=KGZ9/rFlress2Ll3U/AHLQn2YCzB2lLPCooFVmyE9zbF7iJTrmOUBKs7qN4vRxgx0g HMpqXLKvi9vOjH1aRu+pX6HhU46wdLUQD6hF1dxHxz37HB+wbfOdEQO9d90K87mAEXTC heRsJRcOnobXjyfGHEs60UmW+9ucC8CXE6W164lft/ZVAHEyaYIH5jlaejr4ymk/gmOx rReGKyc9HT/bqxVAekg1WNzVUKRHBkzRjUyZVohbg9fHjLwNaTCssPTuZ/iFyNXfZTVx ecw0DfvNqX6llSWx4ZG7BXhTPktIxo4X2+ejZfmTkyDw//LWdZCrXdWuR2YB81dvnFqD KkCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779760120; x=1780364920; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=YlULpAEpwxfveSkxxzgE8fxNZlOFzACllTTl8bfPy88=; b=YMfm9Z3CcTzc41CWRH02tNiYQ5JlHJa0CD73Z3Bz0BbremWMKCxr+HsXdi1WF7vXpf byNQhjt/BFas/0lxBi1/sNjNs9VFqFUbzMfOFreIbi62ZGb/qbbbMWsYJfe/cZZmQZ9S Cl1q9V4Ax7z0aD2gY17QLF+y8ozuVGpvmoJDm4kh/r6rZ1Sbve799uSwbS+iOTUc9cmt dMpi90DpUoZdoyrgmhrBkx2o2Mcs1gkkTUDucVPbRaZiPTG1xiUlnbsT6uCCWXVDkpap FgyR8q6euBj/lir26HWqC05nFwbIjYnYjFq6jRNVU8IWs2/bHpQP9K1DhDPxLIlXtuxr qqFQ== X-Forwarded-Encrypted: i=1; AFNElJ+etYuzHkqxG3lCGblGBVvrn+nzV6UtqgCxLvvtvpYKIV4sE4SoNVlFQT0VuQ1G1JBzoka6mOFl5lnH7MmQ@lists.postgresql.org X-Gm-Message-State: AOJu0YzxR3+c8dsOMZollbQa2gvKgF/FgY53nKxv0g0uQDGQjE4o5SJ9 3GuWsm0GZQZRhAu+hIMu5KFIMhe2ZQnn6llhrdr6XKSGyLejG+t5nmDaq+L8BTjTHSzNg+YaBwV 699D0UjjqfEvfHNhHJc51ZCtV9k1vaWQ= X-Gm-Gg: Acq92OEAt2NbtygudgryP/YW/FZU6ujSi022+e0DIP38MfK6Rgq5P0tEHWHzp1HKyha LukvVvLj0GWKVVMtT+qPhaUwY9ObpkEU5it1VENveLKx+eY26Bc8UK25c9pUCIBwAX7GEgyGbk+ C2bTr1agGO8Ow7gkyuQr7CSUVHfwfV0yl3k+dyD+Z0+ZOhyUXmYIK0iHfqIG9J8hX4HnWIgafXg ogb6DdxwWhu2lb9zZL8H8uFo/doDSu1rRgdtCvfKI2dskxjFVCIeMatqCHzlKCmxxhh2XT/xDAb UtqmMppwFh9FPqFSrb6O3cOxUGzcKfN2b682EZKxBgy0TF1Gq2iacS+njSJ3OvmPoEbzAIdRGGm M/18gAZ86QyVeWt4gq7S16VdfKiwDoV9eb0NSIkE= X-Received: by 2002:a05:6402:34cf:b0:66b:f0b3:42a7 with SMTP id 4fb4d7f45d1cf-6889cc4f602mr8457778a12.24.1779760120003; Mon, 25 May 2026 18:48:40 -0700 (PDT) MIME-Version: 1.0 References: <63f6abc9-c0ae-465d-a4e6-667eca6ea008@gmail.com> In-Reply-To: From: Xuneng Zhou Date: Tue, 26 May 2026 09:48:26 +0800 X-Gm-Features: AVHnY4JBUUsTlS8IsIADgGxY8n2fOuUuTggoVU6FBqb8yNfg5UTKqN_WV0geVc8 Message-ID: Subject: Re: Implement waiting for wal lsn replay: reloaded To: Alexander Korotkov Cc: Alexander Lakhin , Heikki Linnakangas , Peter Eisentraut , Andres Freund , Thomas Munro , =?UTF-8?Q?=C3=81lvaro_Herrera?= , Chao Li , pgsql-hackers , Michael Paquier , jian he , Tomas Vondra , Yura Sokolov Content-Type: multipart/mixed; boundary="000000000000bd35370652aeb124" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000bd35370652aeb124 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, May 25, 2026 at 5:00=E2=80=AFPM Alexander Korotkov wrote: > > On Sat, May 23, 2026 at 9:40=E2=80=AFPM Xuneng Zhou wrote: > >> > I agree with you. But do we actually need a > >> > wait_for_standby_and_slot_catchup() wrapper. I think we can call > >> > $node->wait_for_slot_catchup() directly and simplify the fix. Check > >> > the attached patch. > >> > > >> > >> The patch looks good to me. I agree that the wait_for_slot_catchup is > >> not needed and could be misleading. This change would make the exact > >> synchronization point and its intention clearer. The only price we > >> need to pay here is bringing back the polling. But it seems acceptable > >> since the cost was there in the pre-wait-for-lsn era. And thanks for > >> writing the great commit message! > > > > > > Sorry for copy-pasting the wrong function name. It should be wait_for_c= atchup(). > > Good, thank you. I'll push it if no objections. While reading 019_replslot_limit.pl, Codex pointed out a few inconsistencies in the comments. I verified them and they look real. Would you mind doing a small cleanup as well? --=20 Regards, Xuneng Zhou HighGo Software Co., Ltd. --000000000000bd35370652aeb124 Content-Type: application/octet-stream; name="v2-0002-Clean-up-replslot-limit-test-comments.patch" Content-Disposition: attachment; filename="v2-0002-Clean-up-replslot-limit-test-comments.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mplz734j0 RnJvbSA0ZjMxMWU3OGUzMTY0MjNkZTkxMTRhZmYxNGQ4NTliYTdjNmFhNzZlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBhbHRlcmVnbzY1NSA8ODI0NjYyNTI2QHFxLmNvbT4KRGF0ZTog VHVlLCAyNiBNYXkgMjAyNiAwOTo0MDowNCArMDgwMApTdWJqZWN0OiBbUEFUQ0ggdjIgMi8yXSBD bGVhbiB1cCByZXBsc2xvdCBsaW1pdCB0ZXN0IGNvbW1lbnRzCgpVcGRhdGUgc3RhbGUgY29tbWVu dHMgYW5kIHRlc3QgbmFtZXMgaW4gMDE5X3JlcGxzbG90X2xpbWl0LnBsIHRvIG1hdGNoCnRoZSBh Y3R1YWwgV0FMIGFkdmFuY2VtZW50IGFuZCB3YWxfc3RhdHVzIGNoZWNrcy4gQWxzbyByZW1vdmUg YSByZWR1bmRhbnQKc3RhbmRieSBzdG9wIGluIHRoZSBpbmFjdGl2ZV9zaW5jZSBjb3ZlcmFnZS4K LS0tCiBzcmMvdGVzdC9yZWNvdmVyeS90LzAxOV9yZXBsc2xvdF9saW1pdC5wbCB8IDEwICsrKyst LS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVjb3ZlcnkvdC8wMTlfcmVwbHNsb3RfbGltaXQucGwgYi9z cmMvdGVzdC9yZWNvdmVyeS90LzAxOV9yZXBsc2xvdF9saW1pdC5wbAppbmRleCA0NzJhYTA3NTg3 Zi4uMDk4NGY5OTllMTMgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlY292ZXJ5L3QvMDE5X3JlcGxz bG90X2xpbWl0LnBsCisrKyBiL3NyYy90ZXN0L3JlY292ZXJ5L3QvMDE5X3JlcGxzbG90X2xpbWl0 LnBsCkBAIC02MCw3ICs2MCw3IEBAICRyZXN1bHQgPSAkbm9kZV9wcmltYXJ5LT5zYWZlX3BzcWwo J3Bvc3RncmVzJywKICk7CiBpcygkcmVzdWx0LCAicmVzZXJ2ZWR8dCIsICdjaGVjayB0aGUgY2F0 Y2hpbmctdXAgc3RhdGUnKTsKIAotIyBBZHZhbmNlIFdBTCBieSBmaXZlIHNlZ21lbnRzICg9IDVN Qikgb24gcHJpbWFyeQorIyBBZHZhbmNlIFdBTCBieSBvbmUgc2VnbWVudCAoPSAxTUIpIG9uIHBy aW1hcnkKICRub2RlX3ByaW1hcnktPmFkdmFuY2Vfd2FsKDEpOwogJG5vZGVfcHJpbWFyeS0+c2Fm ZV9wc3FsKCdwb3N0Z3JlcycsICJDSEVDS1BPSU5UOyIpOwogCkBAIC0xMTAsNyArMTEwLDcgQEAg JG5vZGVfcHJpbWFyeS0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJDSEVDS1BPSU5UOyIpOwogJHJl c3VsdCA9ICRub2RlX3ByaW1hcnktPnNhZmVfcHNxbCgncG9zdGdyZXMnLAogCSJTRUxFQ1Qgd2Fs X3N0YXR1cyBGUk9NIHBnX3JlcGxpY2F0aW9uX3Nsb3RzIFdIRVJFIHNsb3RfbmFtZSA9ICdyZXAx JyIpOwogaXMoJHJlc3VsdCwgInJlc2VydmVkIiwKLQknY2hlY2sgdGhhdCBzYWZlX3dhbF9zaXpl IGdldHMgY2xvc2UgdG8gdGhlIGN1cnJlbnQgTFNOJyk7CisJJ2NoZWNrIHRoYXQgc2xvdCByZW1h aW5zIHJlc2VydmVkIGFmdGVyIGFkdmFuY2luZyBXQUwnKTsKIAogIyBUaGUgc3RhbmRieSBjYW4g cmVjb25uZWN0IHRvIHByaW1hcnkKICRub2RlX3N0YW5kYnktPnN0YXJ0OwpAQCAtMTIxLDcgKzEy MSw3IEBAICRub2RlX3N0YW5kYnktPnN0b3A7CiAjIHdhbF9rZWVwX3NpemUgb3ZlcnJpZGVzIG1h eF9zbG90X3dhbF9rZWVwX3NpemUKICRyZXN1bHQgPSAkbm9kZV9wcmltYXJ5LT5zYWZlX3BzcWwo J3Bvc3RncmVzJywKIAkiQUxURVIgU1lTVEVNIFNFVCB3YWxfa2VlcF9zaXplIHRvICc4TUInOyBT RUxFQ1QgcGdfcmVsb2FkX2NvbmYoKTsiKTsKLSMgQWR2YW5jZSBXQUwgYWdhaW4gdGhlbiBjaGVj a3BvaW50LCByZWR1Y2luZyByZW1haW4gYnkgNiBNQi4KKyMgQWR2YW5jZSBXQUwgYWdhaW4sIHJl ZHVjaW5nIHJlbWFpbiBieSA2IE1CLgogJG5vZGVfcHJpbWFyeS0+YWR2YW5jZV93YWwoNik7CiAk cmVzdWx0ID0gJG5vZGVfcHJpbWFyeS0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAJIlNFTEVDVCB3 YWxfc3RhdHVzIGFzIHJlbWFpbiBGUk9NIHBnX3JlcGxpY2F0aW9uX3Nsb3RzIFdIRVJFIHNsb3Rf bmFtZSA9ICdyZXAxJyIKQEAgLTE0MSw3ICsxNDEsNyBAQCAkbm9kZV9zdGFuZGJ5LT5zdG9wOwog IyBBZHZhbmNlIFdBTCBhZ2FpbiB3aXRob3V0IGNoZWNrcG9pbnQsIHJlZHVjaW5nIHJlbWFpbiBi eSA2IE1CLgogJG5vZGVfcHJpbWFyeS0+YWR2YW5jZV93YWwoNik7CiAKLSMgU2xvdCBnZXRzIGlu dG8gJ3Jlc2VydmVkJyBzdGF0ZQorIyBTbG90IGdldHMgaW50byAnZXh0ZW5kZWQnIHN0YXRlCiAk cmVzdWx0ID0gJG5vZGVfcHJpbWFyeS0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAJIlNFTEVDVCB3 YWxfc3RhdHVzIEZST00gcGdfcmVwbGljYXRpb25fc2xvdHMgV0hFUkUgc2xvdF9uYW1lID0gJ3Jl cDEnIik7CiBpcygkcmVzdWx0LCAiZXh0ZW5kZWQiLCAnY2hlY2sgdGhhdCB0aGUgc2xvdCBzdGF0 ZSBjaGFuZ2VzIHRvICJleHRlbmRlZCInKTsKQEAgLTQ4MCw4ICs0ODAsNiBAQCBpcyggJHByaW1h cnk0LT5zYWZlX3BzcWwoCiAJJ3QnLAogCSdsYXN0IGluYWN0aXZlIHRpbWUgZm9yIGFuIGluYWN0 aXZlIHBoeXNpY2FsIHNsb3QgaXMgdXBkYXRlZCBjb3JyZWN0bHknKTsKIAotJHN0YW5kYnk0LT5z dG9wOwotCiAjIFRlc3RjYXNlIGVuZDogQ2hlY2sgaW5hY3RpdmVfc2luY2UgcHJvcGVydHkgb2Yg dGhlIHN0cmVhbWluZyBzdGFuZGJ5J3Mgc2xvdAogIyA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCi0t IAoyLjUxLjAKCg== --000000000000bd35370652aeb124--