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 1sTzUB-004Ge5-Pj for pgsql-hackers@arkaria.postgresql.org; Wed, 17 Jul 2024 07:54:03 +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 1sTzUA-007MnN-I2 for pgsql-hackers@arkaria.postgresql.org; Wed, 17 Jul 2024 07:54:02 +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 1sTzUA-007MnE-2H for pgsql-hackers@lists.postgresql.org; Wed, 17 Jul 2024 07:54:02 +0000 Received: from mail-lj1-x22b.google.com ([2a00:1450:4864:20::22b]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1sTzU7-002TKL-7r for pgsql-hackers@lists.postgresql.org; Wed, 17 Jul 2024 07:54:00 +0000 Received: by mail-lj1-x22b.google.com with SMTP id 38308e7fff4ca-2eee298bd2eso44531401fa.3 for ; Wed, 17 Jul 2024 00:53:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1721202836; x=1721807636; 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=Bcu/4iXUNb2kYEoxP0O5OXGEtiBjMx+QjKyAcHUYdSw=; b=AT+DC+zXcRo+5VXKkV/hjdapGqrowSl16/ux24KUjPZL9M6llRXAz6hFeEf/bMczMG dBvNhFSWsTjvFa1iQLUGjZ48J4V4wvCg7DaJGBtka2AC28rKiRk0y343hgNbEMv/WeqI SoL/z5ZVazMCYuWHIqZ/74LA3TDtwQdJ9bDnQ0Mcfz8KuNYQ4/nuHQGTgKSa//bSvz5d 0ojsaEsxUCvjO6Su0QG4CRNInI1E0bUwB5kKqVst/VH67R1C21P7NQjI5X6/J3bg3b+0 1FlvcIxq1i+yrkIuzooemod1/lWzZW17iaTWvrJYkDKcilV51m0qFwcx1UCs/HaiqATh OZNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1721202836; x=1721807636; 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=Bcu/4iXUNb2kYEoxP0O5OXGEtiBjMx+QjKyAcHUYdSw=; b=MEzHgeyyHO2Y9X6BROGqe9sprnq7OA4P6uK23R2V3pJGe5SFEkNGtEADFcm6Lzu+cI z2gzsWdrddJQTMLVg19ho7IHYsCLoGrTG4efBbzeRzpCwORG58rhrEM9u1mq76c4V8Nd 1tAlbn2YgteOOa74TbaysSB9XvgZU+TLYafRAU073No0JnAKUX9Wm78wLSHAi04TRZZh 7ev/1zR8gncyqN5D1axXHA5WqzzgO0eY+ybX3Ltonphj/MrWMPwMg39ttqhpfUmRndQ7 s/DopdELJVQD0y2DnnomBY1KEP3Bm/IbME89ONFKwWDsXjKbOi6NYbnhwHPH50ZoUL9E 5H1g== X-Forwarded-Encrypted: i=1; AJvYcCUBy4whI6lwPUmMm1pJ/W1/DQCMwuooc7p9a2pj8K+0txqvWQ1y0r0lP6w9pDq9JEHKjYb9CJXjTGGGDREXuXqno8bFV+lkNsnKrlCaBQQrm4nF X-Gm-Message-State: AOJu0YxgGPZOXsNxrwihKbsaJCMqvsbFYZpaSxLZjITlMSEYOgZspBPz OpINhyYss6LDDXEpKJ9kGE07KvArf7Cq/CG44ZffH9cXU9N4OuHfg4zYK85t6yvp2fY8RN6/sfR 8TLX06Pj9gMar1K9389bTYqBhP4w= X-Google-Smtp-Source: AGHT+IGLCHJ9qV/wuAiUXw32rFtm2YBwXnHRQ+8LSbecD19I+IBYd/pIgUp/0eOERa6f4aXVDfQrBB0xUh8Nfb+cUB0= X-Received: by 2002:a05:651c:32f:b0:2ee:d5c2:277e with SMTP id 38308e7fff4ca-2eefd13d50fmr5645871fa.26.1721202836236; Wed, 17 Jul 2024 00:53:56 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Peter Smith Date: Wed, 17 Jul 2024 17:53:28 +1000 Message-ID: Subject: Re: Slow catchup of 2PC (twophase) transactions on replica in LR To: "Hayato Kuroda (Fujitsu)" Cc: "Zhijie Hou (Fujitsu)" , Amit Kapila , "pgsql-hackers@lists.postgresql.org" , Vitaly Davydov , Ajin Cherian Content-Type: multipart/mixed; boundary="000000000000a4021e061d6cc360" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000a4021e061d6cc360 Content-Type: multipart/alternative; boundary="000000000000a4021d061d6cc35e" --000000000000a4021d061d6cc35e Content-Type: text/plain; charset="UTF-8" Hi, here are my review comments for v19-0001. ====== doc/src/sgml/protocol.sgml nitpick - Now there is >1 option. /The following option is supported:/The following options are supported:/ ====== src/backend/access/transam/twophase.c TwoPhaseTransactionGid: nitpick - renamed parameter /gid/gid_res/ to emphasize that this is returned by reference ~~~ 1. IsTwoPhaseTransactionGidForSubid + /* Construct the format GID based on the got xid */ + TwoPhaseTransactionGid(subid, xid, gid_generated, sizeof(gid)); I think the wrong size is being passed here. It should be the buffer size -- e.g. sizeof(gid_generated). ~ nitpick - renamed a couple of vars for readability nitpick - expanded some comments. ====== src/backend/commands/subscriptioncmds.c 2. AlterSubscription + /* + * slot_name and two_phase cannot be altered + * simultaneously. The latter part refers to the pre-set + * slot name and tries to modify the slot option, so + * changing both does not make sense. + */ I had given a v18-0002 nitpick suggestion to re-word all of this comment. But, as I wrote before [1], that fix belongs here in patch 0001 where the comment was first added. ====== [1] https://www.postgresql.org/message-id/CAHut%2BPsqMRS3dcijo5jsTSbgV1-9So-YBC7PH7xg0%2BZ8hA7fDQ%40mail.gmail.com Kind Regards, Peter Smith. Fujitsu Australia --000000000000a4021d061d6cc35e Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi, here are my review comments for v19-0001.

=3D= =3D=3D=3D=3D=3D
doc/src/sgml/protocol.sgml

nitpick - Now there is= >1 option. /The following option is supported:/The following options ar= e supported:/

=3D=3D=3D=3D=3D=3D
src/backend/access/transam/twoph= ase.c

TwoPhaseTransactionGid:
nitpick - renamed parameter /gid/gi= d_res/ to emphasize that this is returned by reference

~~~

1.=
IsTwoPhaseTransactionGidForSubid
+ /* Construct the format GID based= on the got xid */
+ TwoPhaseTransactionGid(subid, xid, gid_generated, s= izeof(gid));

I think the wrong size is being passed here. It should = be the buffer size -- e.g. sizeof(gid_generated).

~

nitpick -= renamed a couple of vars for readability
nitpick - expanded some commen= ts.

=3D=3D=3D=3D=3D=3D
src/backend/commands/subscriptioncmds.c
2. AlterSubscription
+ /*
+ * slot_name and two_phase c= annot be altered
+ * simultaneously. The latter part refers to the = pre-set
+ * slot name and tries to modify the slot option, so
+ = * changing both does not make sense.
+ */

I had given a= v18-0002 nitpick suggestion to re-word all of this comment. But, as I wrot= e before [1], that fix belongs here in patch 0001 where the comment was fir= st added.

=3D=3D=3D=3D=3D=3D
[1] https://www.postgresql.org/message-id/CAHut%2BPsqMRS3dcijo5= jsTSbgV1-9So-YBC7PH7xg0%2BZ8hA7fDQ%40mail.gmail.com

Kind Regards= ,
Peter Smith.
Fujitsu Australia
--000000000000a4021d061d6cc35e-- --000000000000a4021e061d6cc360 Content-Type: text/plain; charset="US-ASCII"; name="PS_NITPICKS_20240717_v190001.txt" Content-Disposition: attachment; filename="PS_NITPICKS_20240717_v190001.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lypjp5130 ZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9wcm90b2NvbC5zZ21sIGIvZG9jL3NyYy9zZ21sL3By b3RvY29sLnNnbWwKaW5kZXggY2JhNjY2MS4uMjRjNTdmYiAxMDA2NDQKLS0tIGEvZG9jL3NyYy9z Z21sL3Byb3RvY29sLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3Byb3RvY29sLnNnbWwKQEAgLTIx OTIsNyArMjE5Miw3IEBAIHBzcWwgImRibmFtZT1wb3N0Z3JlcyByZXBsaWNhdGlvbj1kYXRhYmFz ZSIgLWMgIklERU5USUZZX1NZU1RFTTsiCiAgICAgICAgPC92YXJsaXN0ZW50cnk+CiAgICAgICA8 L3ZhcmlhYmxlbGlzdD4KIAotICAgICAgPHBhcmE+VGhlIGZvbGxvd2luZyBvcHRpb24gaXMgc3Vw cG9ydGVkOjwvcGFyYT4KKyAgICAgIDxwYXJhPlRoZSBmb2xsb3dpbmcgb3B0aW9ucyBhcmUgc3Vw cG9ydGVkOjwvcGFyYT4KIAogICAgICAgPHZhcmlhYmxlbGlzdD4KICAgICAgICA8dmFybGlzdGVu dHJ5PgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0vdHdvcGhhc2UuYyBi L3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3R3b3BoYXNlLmMKaW5kZXggZjcxMDAzMC4uYjQy NmYwYiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0vdHdvcGhhc2UuYwor KysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS90d29waGFzZS5jCkBAIC0yNjg5LDcgKzI2 ODksNyBAQCBMb29rdXBHWGFjdChjb25zdCBjaGFyICpnaWQsIFhMb2dSZWNQdHIgcHJlcGFyZV9l bmRfbHNuLAogICogUmV0dXJuIHRoZSBHSUQgaW4gdGhlIHN1cHBsaWVkIGJ1ZmZlci4KICAqLwog dm9pZAotVHdvUGhhc2VUcmFuc2FjdGlvbkdpZChPaWQgc3ViaWQsIFRyYW5zYWN0aW9uSWQgeGlk LCBjaGFyICpnaWQsIGludCBzemdpZCkKK1R3b1BoYXNlVHJhbnNhY3Rpb25HaWQoT2lkIHN1Ymlk LCBUcmFuc2FjdGlvbklkIHhpZCwgY2hhciAqZ2lkX3JlcywgaW50IHN6Z2lkKQogewogCUFzc2Vy dChzdWJpZCAhPSBJbnZhbGlkUmVwT3JpZ2luSWQpOwogCkBAIC0yNjk4LDcgKzI2OTgsNyBAQCBU d29QaGFzZVRyYW5zYWN0aW9uR2lkKE9pZCBzdWJpZCwgVHJhbnNhY3Rpb25JZCB4aWQsIGNoYXIg KmdpZCwgaW50IHN6Z2lkKQogCQkJCShlcnJjb2RlKEVSUkNPREVfUFJPVE9DT0xfVklPTEFUSU9O KSwKIAkJCQkgZXJybXNnX2ludGVybmFsKCJpbnZhbGlkIHR3by1waGFzZSB0cmFuc2FjdGlvbiBJ RCIpKSk7CiAKLQlzbnByaW50ZihnaWQsIHN6Z2lkLCAicGdfZ2lkXyV1XyV1Iiwgc3ViaWQsIHhp ZCk7CisJc25wcmludGYoZ2lkX3Jlcywgc3pnaWQsICJwZ19naWRfJXVfJXUiLCBzdWJpZCwgeGlk KTsKIH0KIAogLyoKQEAgLTI3MTAsMjAgKzI3MTAsMjYgQEAgc3RhdGljIGJvb2wKIElzVHdvUGhh c2VUcmFuc2FjdGlvbkdpZEZvclN1YmlkKE9pZCBzdWJpZCwgY2hhciAqZ2lkKQogewogCWludAkJ CXJldDsKLQlPaWQJCQlzdWJpZF93cml0dGVuOwotCVRyYW5zYWN0aW9uSWQgeGlkOworCU9pZAkJ CXN1YmlkX2Zyb21fZ2lkOworCVRyYW5zYWN0aW9uSWQgeGlkX2Zyb21fZ2lkOwogCWNoYXIJCWdp ZF9nZW5lcmF0ZWRbR0lEU0laRV07CiAKLQlyZXQgPSBzc2NhbmYoZ2lkLCAicGdfZ2lkXyV1XyV1 IiwgJnN1YmlkX3dyaXR0ZW4sICZ4aWQpOworCS8qIEV4dHJhY3QgdGhlIHN1YmlkIGFuZCB4aWQg ZnJvbSB0aGUgZ2l2ZW4gR0lELiAqLworCXJldCA9IHNzY2FuZihnaWQsICJwZ19naWRfJXVfJXUi LCAmc3ViaWRfZnJvbV9naWQsICZ4aWRfZnJvbV9naWQpOwogCi0JLyogUmV0dXJuIGZhbHNlIGlm IHRoZSBnaXZlbiBHSUQgaGFzIGRpZmZlcmVudCBmb3JtYXQgKi8KLQlpZiAocmV0ICE9IDIgfHwg c3ViaWQgIT0gc3ViaWRfd3JpdHRlbikKKwkvKgorCSAqIENoZWNrIHRoYXQgdGhlIGdpdmVuIEdJ RCBoYXMgZXhwZWN0ZWQgZm9ybWF0LCBhbmQgYXQgbGVhc3QgdGhlIHN1YmlkCisJICogbWF0Y2hl cy4KKwkgKi8KKwlpZiAocmV0ICE9IDIgfHwgc3ViaWQgIT0gc3ViaWRfZnJvbV9naWQpCiAJCXJl dHVybiBmYWxzZTsKIAotCS8qIENvbnN0cnVjdCB0aGUgZm9ybWF0IEdJRCBiYXNlZCBvbiB0aGUg Z290IHhpZCAqLwotCVR3b1BoYXNlVHJhbnNhY3Rpb25HaWQoc3ViaWQsIHhpZCwgZ2lkX2dlbmVy YXRlZCwgc2l6ZW9mKGdpZCkpOwotCi0JLyogLi4uQW5kIGNoZWNrIHdoZXRoZXIgdGhlIGdpdmVu IEdJRCBpcyBleGFjdCBzYW1lIGFzIHRoZSBmb3JtYXQgR0lEICovCisJLyoKKwkgKiBSZWNvbnN0 cnVjdCBhIHRtcCBHSUQgYmFzZWQgb24gdGhlIHN1YmlkIGFuZCB4aWQgZXh0cmFjdGVkIGZyb20K KwkgKiB0aGUgZ2l2ZW4gR0lELiBDaGVjayB0aGF0IHRoZSB0bXAgR0lEIGFuZCB0aGUgZ2l2ZW4g R0lEIG1hdGNoLgorCSAqLworCVR3b1BoYXNlVHJhbnNhY3Rpb25HaWQoc3ViaWRfZnJvbV9naWQs IHhpZF9mcm9tX2dpZCwKKwkJCQkJCSAgIGdpZF9nZW5lcmF0ZWQsIHNpemVvZihnaWRfZ2VuZXJh dGVkKSk7CiAJcmV0dXJuIHN0cmNtcChnaWQsIGdpZF9nZW5lcmF0ZWQpID09IDA7CiB9CiAK --000000000000a4021e061d6cc360--