Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nM5zJ-0002S1-VA for pgsql-hackers@arkaria.postgresql.org; Mon, 21 Feb 2022 10:32:14 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1nM5zI-000208-Qd for pgsql-hackers@arkaria.postgresql.org; Mon, 21 Feb 2022 10:32:12 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nM5zI-0001zz-2f for pgsql-hackers@lists.postgresql.org; Mon, 21 Feb 2022 10:32:12 +0000 Received: from smtp-fw-80007.amazon.com ([99.78.197.218]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nM5zE-0005wX-MR for pgsql-hackers@lists.postgresql.org; Mon, 21 Feb 2022 10:32:11 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1645439528; x=1676975528; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to; bh=LaoNVr3pQXb05HVQ9tfUK+TVDJd3MdNlx7voaO0Rc2k=; b=pvfdupbTuIWh4bvpiJoYUaBIHl93qRue1eGAXZbFIPe4RJN6esnN5D3i Rtma9t5K9ezCKqco/YsgW3/hDsQfF/ciTce3ElhK4oDsQEJ4QSAPsCZQv zjPwkhz06OOlbz64ax9q6q+WPW2g13qQBhPql/7VHXJCruHtVlTazRAut s=; X-Amazon-filename: poc_mark_all_txns_catalog_change.patch X-IronPort-AV: E=Sophos;i="5.88,385,1635206400"; d="scan'208";a="64733897" Received: from pdx4-co-svc-p1-lb2-vlan2.amazon.com (HELO email-inbound-relay-pdx-2c-34cb9e7b.us-west-2.amazon.com) ([10.25.36.210]) by smtp-border-fw-80007.pdx80.corp.amazon.com with ESMTP; 21 Feb 2022 10:30:00 +0000 Received: from EX13D03EUC003.ant.amazon.com (pdx1-ws-svc-p6-lb9-vlan2.pdx.amazon.com [10.236.137.194]) by email-inbound-relay-pdx-2c-34cb9e7b.us-west-2.amazon.com (Postfix) with ESMTPS id 8AE084168E; Mon, 21 Feb 2022 10:29:59 +0000 (UTC) Received: from [192.168.21.53] (10.43.160.103) by EX13D03EUC003.ant.amazon.com (10.43.164.192) with Microsoft SMTP Server (TLS) id 15.0.1497.28; Mon, 21 Feb 2022 10:29:56 +0000 Content-Type: multipart/mixed; boundary="------------cjZh96tZRn1u6saSBtKIaqkX" Message-ID: <25c03b0c-1684-fc66-6aef-0ab41d824510@amazon.com> Date: Mon, 21 Feb 2022 11:29:51 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.6.0 Subject: Re: [BUG] Logical replication failure "ERROR: could not map filenode "base/13237/442428" to relation OID" with catalog modifying txns Content-Language: en-US To: Kyotaro Horiguchi , , CC: , References: <20211014.112128.1398650206608979125.horikyota.ntt@gmail.com> <20211019.154328.1852357242791456526.horikyota.ntt@gmail.com> From: "Drouvot, Bertrand" In-Reply-To: <20211019.154328.1852357242791456526.horikyota.ntt@gmail.com> X-Originating-IP: [10.43.160.103] X-ClientProxiedBy: EX13D36UWB001.ant.amazon.com (10.43.161.84) To EX13D03EUC003.ant.amazon.com (10.43.164.192) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --------------cjZh96tZRn1u6saSBtKIaqkX Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit Hi, On 10/19/21 8:43 AM, Kyotaro Horiguchi wrote: > At Tue, 19 Oct 2021 02:45:24 +0000, "osumi.takamichi@fujitsu.com" wrote in >> On Thursday, October 14, 2021 11:21 AM Kyotaro Horiguchi wrote: >>> It adds a call to ReorderBufferAssignChild but usually subtransactions are >>> assigned to top level elsewherae. Addition to that >>> ReorderBufferCommitChild() called just later does the same thing. We are >>> adding the third call to the same function, which looks a bit odd. >> It can be odd. However, we >> have a check at the top of ReorderBufferAssignChild >> to judge if the sub transaction is already associated or not >> and skip the processings if it is. > My question was why do we need to make the extra call to > ReorerBufferCommitChild when XACT_XINFO_HAS_INVALS in spite of the > existing call to the same fuction that unconditionally made. It > doesn't cost so much but also it's not free. > >>> And I'm not sure it is wise to mark all subtransactions as "catalog changed" >>> always when the top transaction is XACT_XINFO_HAS_INVALS. >> In order to avoid this, >> can't we have a new flag (for example, in reorderbuffer struct) to check >> if we start decoding from RUNNING_XACTS, which is similar to the first patch of [1] >> and use it at DecodeCommit ? This still leads to some extra specific codes added >> to DecodeCommit and this solution becomes a bit similar to other previous patches though. > If it is somehow wrong in any sense that we add subtransactions in > SnapBuildProcessRunningXacts (for example, we should avoid relaxing > the assertion condition.), I think we would go another way. Otherwise > we don't even need that additional flag. (But Sawadasan's recent PoC > also needs that relaxation.) > > ASAICS, and unless I'm missing something (that odds are rtlatively > high:p), we need the specially added subransactions only for the > transactions that were running at passing the first RUNNING_XACTS, > becuase otherwise (substantial) subtransactions are assigned to > toplevel by the first record of the subtransaction. > > Before reaching consistency, DecodeCommit feeds the subtransactions to > ReorderBufferForget individually so the subtransactions are not needed > to be assigned to the top transaction at all. Since the > subtransactions added by the first RUNNING_XACT are processed that > way, we don't need in the first place to call ReorderBufferCommitChild > for such subtransactions. > >> [1] - https://www.postgresql.org/message-id/81D0D8B0-E7C4-4999-B616-1E5004DBDCD2%40amazon.com > regards. > > -- > Kyotaro Horiguchi > NTT Open Source Software Center > Just rebased (minor change in the contrib/test_decoding/Makefile) the last POC version linked to the CF entry as it was failing the CF bot. Thanks Bertrand --------------cjZh96tZRn1u6saSBtKIaqkX Content-Type: text/plain; charset="UTF-8"; name="poc_mark_all_txns_catalog_change.patch" Content-Disposition: attachment; filename="poc_mark_all_txns_catalog_change.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2NvbnRyaWIvdGVzdF9kZWNvZGluZy9NYWtlZmlsZSBiL2NvbnRyaWIv dGVzdF9kZWNvZGluZy9NYWtlZmlsZQppbmRleCAzNjkyOWRkOTdkLi4wNWMwYzVhMmY4IDEw MDY0NAotLS0gYS9jb250cmliL3Rlc3RfZGVjb2RpbmcvTWFrZWZpbGUKKysrIGIvY29udHJp Yi90ZXN0X2RlY29kaW5nL01ha2VmaWxlCkBAIC05LDcgKzksNyBAQCBSRUdSRVNTID0gZGRs IHhhY3QgcmV3cml0ZSB0b2FzdCBwZXJtaXNzaW9ucyBkZWNvZGluZ19pbl94YWN0IFwKIAlz ZXF1ZW5jZQogSVNPTEFUSU9OID0gbXhhY3QgZGVsYXllZF9zdGFydHVwIG9uZGlza19zdGFy dHVwIGNvbmN1cnJlbnRfZGRsX2RtbCBcCiAJb2xkZXN0X3htaW4gc25hcHNob3RfdHJhbnNm ZXIgc3VieGFjdF93aXRob3V0X3RvcCBjb25jdXJyZW50X3N0cmVhbSBcCi0JdHdvcGhhc2Vf c25hcHNob3Qgc2xvdF9jcmVhdGlvbl9lcnJvcgorCXR3b3BoYXNlX3NuYXBzaG90IHNsb3Rf Y3JlYXRpb25fZXJyb3IgY2F0YWxvZ19jaGFuZ2Vfc25hcHNob3QKIAogUkVHUkVTU19PUFRT ID0gLS10ZW1wLWNvbmZpZyAkKHRvcF9zcmNkaXIpL2NvbnRyaWIvdGVzdF9kZWNvZGluZy9s b2dpY2FsLmNvbmYKIElTT0xBVElPTl9PUFRTID0gLS10ZW1wLWNvbmZpZyAkKHRvcF9zcmNk aXIpL2NvbnRyaWIvdGVzdF9kZWNvZGluZy9sb2dpY2FsLmNvbmYKZGlmZiAtLWdpdCBhL2Nv bnRyaWIvdGVzdF9kZWNvZGluZy9leHBlY3RlZC9jYXRhbG9nX2NoYW5nZV9zbmFwc2hvdC5v dXQgYi9jb250cmliL3Rlc3RfZGVjb2RpbmcvZXhwZWN0ZWQvY2F0YWxvZ19jaGFuZ2Vfc25h cHNob3Qub3V0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLmJjMTQy ZmMzODQKLS0tIC9kZXYvbnVsbAorKysgYi9jb250cmliL3Rlc3RfZGVjb2RpbmcvZXhwZWN0 ZWQvY2F0YWxvZ19jaGFuZ2Vfc25hcHNob3Qub3V0CkBAIC0wLDAgKzEsNDQgQEAKK1BhcnNl ZCB0ZXN0IHNwZWMgd2l0aCAyIHNlc3Npb25zCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBz MF9pbml0IHMwX2JlZ2luIHMwX3NhdmVwb2ludCBzMF90cnVuY2F0ZSBzMV9jaGVja3BvaW50 IHMxX2dldF9jaGFuZ2VzIHMwX2NvbW1pdCBzMF9iZWdpbiBzMF9pbnNlcnQgczFfY2hlY2tw b2ludCBzMV9nZXRfY2hhbmdlcyBzMF9jb21taXQgczFfZ2V0X2NoYW5nZXMKK3N0ZXAgczBf aW5pdDogU0VMRUNUICdpbml0JyBGUk9NIHBnX2NyZWF0ZV9sb2dpY2FsX3JlcGxpY2F0aW9u X3Nsb3QoJ2lzb2xhdGlvbl9zbG90JywgJ3Rlc3RfZGVjb2RpbmcnKTsKKz9jb2x1bW4/Cist LS0tLS0tLQoraW5pdCAgICAKKygxIHJvdykKKworc3RlcCBzMF9iZWdpbjogQkVHSU47Citz dGVwIHMwX3NhdmVwb2ludDogU0FWRVBPSU5UIHNwMTsKK3N0ZXAgczBfdHJ1bmNhdGU6IFRS VU5DQVRFIHRibDE7CitzdGVwIHMxX2NoZWNrcG9pbnQ6IENIRUNLUE9JTlQ7CitzdGVwIHMx X2dldF9jaGFuZ2VzOiBTRUxFQ1QgZGF0YSBGUk9NIHBnX2xvZ2ljYWxfc2xvdF9nZXRfY2hh bmdlcygnaXNvbGF0aW9uX3Nsb3QnLCBOVUxMLCBOVUxMLCAnaW5jbHVkZS14aWRzJywgJzAn KTsKK2RhdGEKKy0tLS0KKygwIHJvd3MpCisKK3N0ZXAgczBfY29tbWl0OiBDT01NSVQ7Citz dGVwIHMwX2JlZ2luOiBCRUdJTjsKK3N0ZXAgczBfaW5zZXJ0OiBJTlNFUlQgSU5UTyB0Ymwx IFZBTFVFUyAoMSk7CitzdGVwIHMxX2NoZWNrcG9pbnQ6IENIRUNLUE9JTlQ7CitzdGVwIHMx X2dldF9jaGFuZ2VzOiBTRUxFQ1QgZGF0YSBGUk9NIHBnX2xvZ2ljYWxfc2xvdF9nZXRfY2hh bmdlcygnaXNvbGF0aW9uX3Nsb3QnLCBOVUxMLCBOVUxMLCAnaW5jbHVkZS14aWRzJywgJzAn KTsKK2RhdGEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitCRUdJTiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAKK3RhYmxlIHB1YmxpYy50YmwxOiBUUlVOQ0FURTogKG5vLWZs YWdzKQorQ09NTUlUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisoMyByb3dz KQorCitzdGVwIHMwX2NvbW1pdDogQ09NTUlUOworc3RlcCBzMV9nZXRfY2hhbmdlczogU0VM RUNUIGRhdGEgRlJPTSBwZ19sb2dpY2FsX3Nsb3RfZ2V0X2NoYW5nZXMoJ2lzb2xhdGlvbl9z bG90JywgTlVMTCwgTlVMTCwgJ2luY2x1ZGUteGlkcycsICcwJyk7CitkYXRhICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCistLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCitCRUdJTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgCit0YWJsZSBwdWJsaWMudGJsMTogSU5TRVJUOiB2YWwxW2ludGVnZXJd OjEgdmFsMltpbnRlZ2VyXTpudWxsCitDT01NSVQgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisoMyByb3dzKQorCis/Y29sdW1uPwor LS0tLS0tLS0KK3N0b3AgICAgCisoMSByb3cpCisKZGlmZiAtLWdpdCBhL2NvbnRyaWIvdGVz dF9kZWNvZGluZy9zcGVjcy9jYXRhbG9nX2NoYW5nZV9zbmFwc2hvdC5zcGVjIGIvY29udHJp Yi90ZXN0X2RlY29kaW5nL3NwZWNzL2NhdGFsb2dfY2hhbmdlX3NuYXBzaG90LnNwZWMKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uNDNjMGI2NDI4OQotLS0gL2Rl di9udWxsCisrKyBiL2NvbnRyaWIvdGVzdF9kZWNvZGluZy9zcGVjcy9jYXRhbG9nX2NoYW5n ZV9zbmFwc2hvdC5zcGVjCkBAIC0wLDAgKzEsMzIgQEAKK3NldHVwCit7CisgICAgRFJPUCBU QUJMRSBJRiBFWElTVFMgdGJsMTsKKyAgICBDUkVBVEUgVEFCTEUgdGJsMSAodmFsMSBpbnRl Z2VyLCB2YWwyIGludGVnZXIpOworfQorCit0ZWFyZG93bgoreworICAgIERST1AgVEFCTEUg dGJsMTsKKyAgICBTRUxFQ1QgJ3N0b3AnIEZST00gcGdfZHJvcF9yZXBsaWNhdGlvbl9zbG90 KCdpc29sYXRpb25fc2xvdCcpOworfQorCitzZXNzaW9uICJzMCIKK3NldHVwIHsgU0VUIHN5 bmNocm9ub3VzX2NvbW1pdD1vbjsgfQorc3RlcCAiczBfaW5pdCIgeyBTRUxFQ1QgJ2luaXQn IEZST00gcGdfY3JlYXRlX2xvZ2ljYWxfcmVwbGljYXRpb25fc2xvdCgnaXNvbGF0aW9uX3Ns b3QnLCAndGVzdF9kZWNvZGluZycpOyB9CitzdGVwICJzMF9iZWdpbiIgeyBCRUdJTjsgfQor c3RlcCAiczBfc2F2ZXBvaW50IiB7IFNBVkVQT0lOVCBzcDE7IH0KK3N0ZXAgInMwX3RydW5j YXRlIiB7IFRSVU5DQVRFIHRibDE7IH0KK3N0ZXAgInMwX2luc2VydCIgeyBJTlNFUlQgSU5U TyB0YmwxIFZBTFVFUyAoMSk7IH0KK3N0ZXAgInMwX2NvbW1pdCIgeyBDT01NSVQ7IH0KKwor c2Vzc2lvbiAiczEiCitzZXR1cCB7IFNFVCBzeW5jaHJvbm91c19jb21taXQ9b247IH0KK3N0 ZXAgInMxX2NoZWNrcG9pbnQiIHsgQ0hFQ0tQT0lOVDsgfQorc3RlcCAiczFfZ2V0X2NoYW5n ZXMiIHsgU0VMRUNUIGRhdGEgRlJPTSBwZ19sb2dpY2FsX3Nsb3RfZ2V0X2NoYW5nZXMoJ2lz b2xhdGlvbl9zbG90JywgTlVMTCwgTlVMTCwgJ2luY2x1ZGUteGlkcycsICcwJyk7IH0KKwor IyBGb3IgdGhlIHRyYW5zYWN0aW9uIHRoYXQgVFJVTkNBVEVkIHRoZSB0YWJsZSB0YmwxLCB0 aGUgbGFzdCBkZWNvZGluZyBkZWNvZGVzCisjIG9ubHkgaXRzIENPTU1JVCByZWNvcmQsIGJl Y2F1c2UgaXQgc3RhcnRzIGZyb20gdGhlIFJVTk5JTkdfWEFDVCByZWNvcmQgZW1pdHRlZAor IyBkdXJpbmcgdGhlIHNlY29uZCBjaGVja3BvaW50IGV4ZWN1dGlvbi4gIFRoaXMgdHJhbnNh Y3Rpb24gbXVzdCBiZSBtYXJrZWQgYXMKKyMgY29udGFpbmluZyBjYXRhbG9nIGNoYW5nZXMg ZHVyaW5nIGRlY29kaW5nIHRoZSBDT01NSVQgcmVjb3JkIGFuZCB0aGUgZGVjb2RpbmcKKyMg b2YgdGhlIElOU0VSVCByZWNvcmQgbXVzdCByZWFkIHRoZSBwZ19jbGFzcyB3aXRoIHRoZSBj b3JyZWN0IGhpc3RvcmljIHNuYXBzaG90LgorcGVybXV0YXRpb24gInMwX2luaXQiICJzMF9i ZWdpbiIgInMwX3NhdmVwb2ludCIgInMwX3RydW5jYXRlIiAiczFfY2hlY2twb2ludCIgInMx X2dldF9jaGFuZ2VzIiAiczBfY29tbWl0IiAiczBfYmVnaW4iICJzMF9pbnNlcnQiICJzMV9j aGVja3BvaW50IiAiczFfZ2V0X2NoYW5nZXMiICJzMF9jb21taXQiICJzMV9nZXRfY2hhbmdl cyIKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvZGVjb2Rl LmMgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2RlY29kZS5jCmluZGV4IDE4 Y2Y5MzE4MjIuLmFkZTQ4YmQ3MWUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0 aW9uL2xvZ2ljYWwvZGVjb2RlLmMKKysrIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9n aWNhbC9kZWNvZGUuYwpAQCAtNjI5LDYgKzYyOSwyNSBAQCBEZWNvZGVDb21taXQoTG9naWNh bERlY29kaW5nQ29udGV4dCAqY3R4LCBYTG9nUmVjb3JkQnVmZmVyICpidWYsCiAJCWNvbW1p dF90aW1lID0gcGFyc2VkLT5vcmlnaW5fdGltZXN0YW1wOwogCX0KIAorCS8qCisJICogTWFy ayB0aGUgdG9wIHRyYW5zYWN0aW9uIGFuZCBpdHMgc3VidHJhbnNhY3Rpb25zIGFzIGNvbnRh aW5pbmcgY2F0YWxvZworCSAqIGNoYW5nZXMsIGlmIHRoZSBjb21taXQgcmVjb3JkIGhhcyBp bnZhbGlkYXRpb24gbWVzc2FnZS4gIFRoaXMgaXMgbmVjZXNzYXJ5CisJICogZm9yIHRoZSBj YXNlIHdoZXJlIHdlIGRlY29kZSBvbmx5IHRoZSBjb21taXQgcmVjb3JkIG9mIHRoZSB0cmFu c2FjdGlvbgorCSAqIHRoYXQgYWN0dWFsbHkgaGFzIGRvbmUgY2F0YWxvZyBjaGFuZ2VzLgor CSAqLworCWlmIChwYXJzZWQtPnhpbmZvICYgWEFDVF9YSU5GT19IQVNfSU5WQUxTKQorCXsK KwkJUmVvcmRlckJ1ZmZlclhpZFNldENhdGFsb2dDaGFuZ2VzKGN0eC0+cmVvcmRlciwgeGlk LCBidWYtPm9yaWdwdHIpOworCisJCWZvciAoaW50IGkgPSAwOyBpIDwgcGFyc2VkLT5uc3Vi eGFjdHM7IGkrKykKKwkJeworCQkJUmVvcmRlckJ1ZmZlckFzc2lnbkNoaWxkKGN0eC0+cmVv cmRlciwgeGlkLCBwYXJzZWQtPnN1YnhhY3RzW2ldLAorCQkJCQkJCQkJIGJ1Zi0+b3JpZ3B0 cik7CisJCQlSZW9yZGVyQnVmZmVyWGlkU2V0Q2F0YWxvZ0NoYW5nZXMoY3R4LT5yZW9yZGVy LCBwYXJzZWQtPnN1YnhhY3RzW2ldLAorCQkJCQkJCQkJCQkgIGJ1Zi0+b3JpZ3B0cik7CisJ CX0KKwl9CisKIAlTbmFwQnVpbGRDb21taXRUeG4oY3R4LT5zbmFwc2hvdF9idWlsZGVyLCBi dWYtPm9yaWdwdHIsIHhpZCwKIAkJCQkJICAgcGFyc2VkLT5uc3VieGFjdHMsIHBhcnNlZC0+ c3VieGFjdHMpOwogCg== --------------cjZh96tZRn1u6saSBtKIaqkX--