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.94.2) (envelope-from ) id 1uzCPz-000Z7c-LS for pgsql-hackers@arkaria.postgresql.org; Thu, 18 Sep 2025 11:03:15 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1uzCPx-00FZfB-PQ for pgsql-hackers@arkaria.postgresql.org; Thu, 18 Sep 2025 11:03:13 +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.94.2) (envelope-from ) id 1uzCPx-00FZf2-Bl for pgsql-hackers@lists.postgresql.org; Thu, 18 Sep 2025 11:03:13 +0000 Received: from mail-lj1-x22d.google.com ([2a00:1450:4864:20::22d]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1uzCPv-0014kO-0z for pgsql-hackers@lists.postgresql.org; Thu, 18 Sep 2025 11:03:12 +0000 Received: by mail-lj1-x22d.google.com with SMTP id 38308e7fff4ca-34d1caa670eso6340501fa.2 for ; Thu, 18 Sep 2025 04:03:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1758193390; x=1758798190; 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=cKUlNFdFde1cLJD76Hm/C/ZZrrVGx1siqxwtVWegu9M=; b=hHs5rS3tY1HmW0e9fFkkDAybyPmo6i4GdegIo//be6Hqh+a+OvcfgWCihjELZck5AZ kcDPwgEu+O6CwGl2Bvv8qjaF89Y/SCOX2tBz8y+cQ9lZvGOx4CyrDBxSNVZvbBHz6tGh wfZv85Pky7/SkWYd0qZY5W/kIYDxaQU1n5Lrnvo7Xl1aLfksMePxJ7q6Mn11QpHfWAgw tlrdFm7ryYutWeaFi8KynS860F1SmBbtDRCpAWf+4sKkiqMRcibLKOsTZm/n1K40pkP/ fNhagKqQ29FhOoyn9nl3Bi35tDYV7y/F8e7FubAgHgRsCKv3hijNDmFsV65YypSfvnNu B3Jg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758193390; x=1758798190; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=cKUlNFdFde1cLJD76Hm/C/ZZrrVGx1siqxwtVWegu9M=; b=q8oUKT4IdhP0WFLw2RRVCgByjBh6E13QulGnbAXIwil0C7sQotFEliKcIHcSVztz9r Ph8N2GkYmkJ2cSazS+cMI0gwJrJZILd4n0S/gdViJxPyp7AgUYV7mpS/ebsECgQwd3Jb D2AGZm9P/CLwUtJH804NknFW2+ulZ28vb0UOnltznIGHvT16yegteTR799mM+9D/d2P/ 8GK7CA+hBfCctr2WgWE5AdHahXOcgRqKfnr5fza0gY8lSfBlqBb9Fm4xjZ0a+sTffjox v4DSbnga8yorBRf1CiuxJwtpGjr+cgGifsqxweAQ4dF0P9FW67Fk8vbx7+8GbIK9ySGO /PNA== X-Forwarded-Encrypted: i=1; AJvYcCWEYggHglpSzj9cwbUarYEOhjoHIRnEs7Jz5cHckG01CSFavhMSVa/QpkQEyhK6lwrAcLhTDMANO0wiA/TQ@lists.postgresql.org X-Gm-Message-State: AOJu0YxGd5IvvaD61fa6PVigmcypsWoVwMXQmQLbUw52hNoXrdesrg+c n8rktkec+6OZUI/GdGfitTr5ozY11w1nvhFSOvsmj7zec4QKVguRSMx/E/79htCbgGSE7na2tea o2O6fNFOi1ZVBIjUnZp2s9y2ExyrNUAk= X-Gm-Gg: ASbGncsRdSR5ZiHbeM1SRYtYoWHvvGXoEPOT1D17A47P16qawvhvjq8E3ly/uP6SXhl yTSb+W9zPiBlU+VwRtX+sPdFJBgPnhxJuCxTjyYrdV/pXEdx29HcaIislPQAFTWaCWXE6/unP95 ONugvAaCaAOLijzp+vrXQno9Fi9nn5c7vXJxXzje1nf5p4aw+GV1sI+dGzI2GVfDa+E+2WuBpUS OyeqYBZ21rIHYE/wBK0JqxuMUIirq56K3wktKk= X-Google-Smtp-Source: AGHT+IGQIx1LvoiIqqrFPUiNBHszLjI9W/w8HRq3S++xUFQFcN1CULZe4KeV0TAeDXT1jfsmNKlSeH1pIHn5EatVmKs= X-Received: by 2002:a2e:7409:0:b0:355:7ef5:f12e with SMTP id 38308e7fff4ca-35f61f8b0b4mr11119581fa.9.1758193389509; Thu, 18 Sep 2025 04:03:09 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Amit Kapila Date: Thu, 18 Sep 2025 16:32:56 +0530 X-Gm-Features: AS18NWBtWpwyEkRSsJOnMX4YG4EKPDg39aIVg3IuEOLgzTyTnutBZkNkBb1vo4c Message-ID: Subject: Re: [Patch] add new parameter to pg_replication_origin_session_setup To: "Hayato Kuroda (Fujitsu)" Cc: Doruk Yilmaz , "pgsql-hackers@lists.postgresql.org" Content-Type: multipart/mixed; boundary="0000000000006de9d7063f114cdd" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000006de9d7063f114cdd Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Sep 18, 2025 at 1:07=E2=80=AFPM Hayato Kuroda (Fujitsu) wrote: > > Dear hackers, > > > I considered a test, please see attached files. > Few comments: 1. +step "s0_compare" { + SELECT s0.lsn < s1.lsn + FROM local_lsn_store as s0, local_lsn_store as s1 + WHERE s0.session =3D 0 AND s1.session =3D 1; +} This appears to be a bit tricky to compare the values. Doing a sequential scan won't guarantee the order of rows' appearance. Can't we somehow get the two rows ordered by session_id and compare their values? 2. + else if (candidate_state->acquired_by !=3D acquired_by) + { + if (initialized) + candidate_state->roident =3D InvalidRepOriginId; + elog(ERROR, "could not find replication state slot for replication origin with OID %u which was acquired by %d", node, acquired_by); + } This doesn't appear neat. Instead, how about checking this case before setting current_state as shown in attached. If we do that, we shouldn't even need new variables like current_state and initialized. Additionally, as shown in attached, it is better to make this a user-facing error by using ereport. 3. Merge all patches as I don't see the need to do any backpatch here. --=20 With Regards, Amit Kapila. --0000000000006de9d7063f114cdd Content-Type: text/plain; charset="US-ASCII"; name="v8_amit_1.txt" Content-Disposition: attachment; filename="v8_amit_1.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mfpax4hj0 ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvb3JpZ2luLmMgYi9z cmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL29yaWdpbi5jCmluZGV4IDBiYmM5NmJjZWU1 Li5jOTNiNmViMTc5OCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNh bC9vcmlnaW4uYworKysgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL29yaWdpbi5j CkBAIC0xMTY5LDYgKzExNjksMTUgQEAgcmVwbG9yaWdpbl9zZXNzaW9uX3NldHVwKFJlcE9yaWdp bklkIG5vZGUsIGludCBhY3F1aXJlZF9ieSkKIAkJCQkJCQljdXJzdGF0ZS0+cm9pZGVudCwgY3Vy c3RhdGUtPmFjcXVpcmVkX2J5KSkpOwogCQl9CiAKKwkJZWxzZSBpZiAoY3Vyc3RhdGUtPmFjcXVp cmVkX2J5ICE9IDAgJiYKKwkJCQkgY3Vyc3RhdGUtPmFjcXVpcmVkX2J5ICE9IGFjcXVpcmVkX2J5 KQorCQl7CisJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkoZXJyY29kZShFUlJDT0RFX09CSkVDVF9O T1RfSU5fUFJFUkVRVUlTSVRFX1NUQVRFKSwKKwkJCQkJIGVycm1zZygiY291bGQgbm90IGZpbmQg cmVwbGljYXRpb24gc3RhdGUgc2xvdCBmb3IgcmVwbGljYXRpb24gb3JpZ2luIHdpdGggT0lEICV1 IHdoaWNoIHdhcyBhY3F1aXJlZCBieSAlZCIsCisJCQkJCQkJbm9kZSwgYWNxdWlyZWRfYnkpKSk7 CisJCX0KKwogCQkvKiBvaywgZm91bmQgc2xvdCAqLwogCQljYW5kaWRhdGVfc3RhdGUgPSBjdXJz dGF0ZTsKIAkJYnJlYWs7CkBAIC0xMTk2LDE0ICsxMjA1LDggQEAgcmVwbG9yaWdpbl9zZXNzaW9u X3NldHVwKFJlcE9yaWdpbklkIG5vZGUsIGludCBhY3F1aXJlZF9ieSkKIAogCWlmIChhY3F1aXJl ZF9ieSA9PSAwKQogCQljYW5kaWRhdGVfc3RhdGUtPmFjcXVpcmVkX2J5ID0gTXlQcm9jUGlkOwot CWVsc2UgaWYgKGNhbmRpZGF0ZV9zdGF0ZS0+YWNxdWlyZWRfYnkgIT0gYWNxdWlyZWRfYnkpCi0J ewotCQlpZiAoaW5pdGlhbGl6ZWQpCi0JCQljYW5kaWRhdGVfc3RhdGUtPnJvaWRlbnQgPSBJbnZh bGlkUmVwT3JpZ2luSWQ7Ci0KLQkJZWxvZyhFUlJPUiwgImNvdWxkIG5vdCBmaW5kIHJlcGxpY2F0 aW9uIHN0YXRlIHNsb3QgZm9yIHJlcGxpY2F0aW9uIG9yaWdpbiB3aXRoIE9JRCAldSB3aGljaCB3 YXMgYWNxdWlyZWQgYnkgJWQiLAotCQkJIG5vZGUsIGFjcXVpcmVkX2J5KTsKLQl9CisJZWxzZQor CQlBc3NlcnQoY2FuZGlkYXRlX3N0YXRlLT5hY3F1aXJlZF9ieSA9PSBhY3F1aXJlZF9ieSk7CiAK IAkvKiBDYW5kaWRhdGUgc2xvdCBsb29rcyBvaywgdXNlIGl0ICovCiAJc2Vzc2lvbl9yZXBsaWNh dGlvbl9zdGF0ZSA9IGNhbmRpZGF0ZV9zdGF0ZTsK --0000000000006de9d7063f114cdd--