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 1sp4o6-00GFcu-4U for pgsql-hackers@arkaria.postgresql.org; Fri, 13 Sep 2024 11:49:47 +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 1sp4o4-001pIq-Q2 for pgsql-hackers@arkaria.postgresql.org; Fri, 13 Sep 2024 11:49:44 +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 1sp4o4-001pIh-Bf for pgsql-hackers@lists.postgresql.org; Fri, 13 Sep 2024 11:49:44 +0000 Received: from oss.nttdata.com ([49.212.34.109]) by makus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sp4o0-000xRy-Jy for pgsql-hackers@lists.postgresql.org; Fri, 13 Sep 2024 11:49:43 +0000 Received: from oss.nttdata.com (localhost [127.0.0.1]) by oss.nttdata.com (Postfix) with ESMTPA id 6BD4E615BD for ; Fri, 13 Sep 2024 20:49:36 +0900 (JST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at oss.nttdata.com MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=_0fdcb4d443891a7b330dced0fd6e0d46" Content-Transfer-Encoding: 7bit Date: Fri, 13 Sep 2024 20:49:36 +0900 From: Seino Yuki To: pgsql-hackers@lists.postgresql.org Subject: =?UTF-8?Q?Add_=E2=80=9CFOR_UPDATE_NOWAIT=E2=80=9D_lock_details_t?= =?UTF-8?Q?o_the_log=2E?= User-Agent: Roundcube Webmail/1.4.11 Message-ID: <411280a186cc26ef7034e0f2dfe54131@oss.nttdata.com> X-Sender: seinoyu@oss.nttdata.com List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --=_0fdcb4d443891a7b330dced0fd6e0d46 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed Hello, I would like to add the information of the PID that caused the failure when acquiring a lock with "FOR UPDATE NOWAIT". When "FOR UPDATE" is executed and interrupted by lock_timeout, xid and PID are output in the logs, but in the case of "FOR UPDATE NOWAIT", no information is output, making it impossible to identify the cause of the lock failure. Therefore, I would like to output information in the logs in the same way as when "FOR UPDATE" is executed and interrupted by lock_timeout. The patch is attached as well. Regards, -- Yuki Seino NTT DATA CORPORATION --=_0fdcb4d443891a7b330dced0fd6e0d46 Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=add_loginfo_nowait.patch Content-Disposition: attachment; filename=add_loginfo_nowait.patch; size=5800 Y29tbWl0IDJjM2IxMGE3NWQyYWRlMWJhOGQyMjlkZDkzYzVhYTRjMTQyZTEyOTgKQXV0aG9yOiBZ dWtpIFNlaW5vIDxub2llc2UueUBnbWFpbC5jb20+CkRhdGU6ICAgRnJpIFNlcCAxMyAyMDoyNDoz MyAyMDI0ICswOTAwCgogICAgQWRkIHRoZSBpbmZvcm1hdGlvbiBvZiB0aGUgUElELCB3aGljaCBj YXVzZWQgdGhlIGZhaWx1cmUgdG8gYWNxdWlyZSB0aGUgbG9jaywgdG8gdGhlIGxvZyB3aGVuIHVz aW5nICdGT1IgVVBEQVRFIE5PV0FJVC4nCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvc3RvcmFn ZS9sbWdyL3Byb2MuYyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2UvbG1nci9wcm9jLmMKaW5kZXggYWM2 NmRhODYzOC4uYTc3OTI5ZDQ2MyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvc3RvcmFnZS9sbWdy L3Byb2MuYworKysgYi9zcmMvYmFja2VuZC9zdG9yYWdlL2xtZ3IvcHJvYy5jCkBAIC0xMDg1LDYg KzEwODUsMTMgQEAgUHJvY1NsZWVwKExPQ0FMTE9DSyAqbG9jYWxsb2NrLCBMb2NrTWV0aG9kIGxv Y2tNZXRob2RUYWJsZSwgYm9vbCBkb250V2FpdCkKIAlib29sCQlsb2dnZWRfcmVjb3ZlcnlfY29u ZmxpY3QgPSBmYWxzZTsKIAlQcm9jV2FpdFN0YXR1cyBteVdhaXRTdGF0dXM7CiAJUEdQUk9DCSAg ICpsZWFkZXIgPSBNeVByb2MtPmxvY2tHcm91cExlYWRlcjsKKwlTdHJpbmdJbmZvRGF0YSBidWYs CisJCQlsb2NrX3dhaXRlcnNfc2J1ZiwKKwkJCWxvY2tfaG9sZGVyc19zYnVmOworCWNvbnN0IGNo YXIgKm1vZGVuYW1lOworCWJvb2wJCWZpcnN0X2hvbGRlciA9IHRydWUsCisJCQkJZmlyc3Rfd2Fp dGVyID0gdHJ1ZTsKKwlpbnQJCQlsb2NrSG9sZGVyc051bSA9IDA7CiAKIAkvKgogCSAqIElmIGdy b3VwIGxvY2tpbmcgaXMgaW4gdXNlLCBsb2NrcyBoZWxkIGJ5IG1lbWJlcnMgb2YgbXkgbG9ja2lu ZyBncm91cApAQCAtMTE4Niw4ICsxMTkzLDI3IEBAIFByb2NTbGVlcChMT0NBTExPQ0sgKmxvY2Fs bG9jaywgTG9ja01ldGhvZCBsb2NrTWV0aG9kVGFibGUsIGJvb2wgZG9udFdhaXQpCiAJICogQXQg dGhpcyBwb2ludCB3ZSBrbm93IHRoYXQgd2UnZCByZWFsbHkgbmVlZCB0byBzbGVlcC4gSWYgd2Un dmUgYmVlbgogCSAqIGNvbW1hbmRlZCBub3QgdG8gZG8gdGhhdCwgYmFpbCBvdXQuCiAJICovCi0J aWYgKGRvbnRXYWl0KQorCWlmIChkb250V2FpdCl7CisJCWluaXRTdHJpbmdJbmZvKCZidWYpOwor CQlpbml0U3RyaW5nSW5mbygmbG9ja193YWl0ZXJzX3NidWYpOworCQlpbml0U3RyaW5nSW5mbygm bG9ja19ob2xkZXJzX3NidWYpOworCisJCURlc2NyaWJlTG9ja1RhZygmYnVmLCAmbG9jYWxsb2Nr LT50YWcubG9jayk7CisJCW1vZGVuYW1lID0gR2V0TG9ja21vZGVOYW1lKGxvY2FsbG9jay0+dGFn LmxvY2subG9ja3RhZ19sb2NrbWV0aG9kaWQsCisJCQkJCQkJCQlsb2NrbW9kZSk7CisKKwkJLyog Q29sbGVjdCBsb2NrIGhvbGRlcnMgYW5kIHdhaXRlcnMgKi8KKwkJQ29sbGVjdExvY2tIb2xkZXJz QW5kV2FpdGVycyhwcm9jbG9jaywgbG9jaywgJmxvY2tfaG9sZGVyc19zYnVmLCAmbG9ja193YWl0 ZXJzX3NidWYsICZsb2NrSG9sZGVyc051bSk7CisKKwkJZXJlcG9ydChMT0csCisJCQkJCQkoZXJy bXNnKCJwcm9jZXNzICVkIGNvdWxkIG5vdCBvYnRhaW4gJXMgb24gJXMiLAorCQkJCQkJCQlNeVBy b2NQaWQsIG1vZGVuYW1lLCBidWYuZGF0YSksCisJCQkJCQkgKGVycmRldGFpbF9sb2dfcGx1cmFs KCJQcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2s6ICVzLiBXYWl0OiAlcy4iLAorCQkJCQkJCQkJCQkg ICAiUHJvY2Vzc2VzIGhvbGRpbmcgdGhlIGxvY2s6ICVzLiBXYWl0OiAlcy4iLAorCQkJCQkJCQkJ CQkgICBsb2NrSG9sZGVyc051bSwgbG9ja19ob2xkZXJzX3NidWYuZGF0YSwgbG9ja193YWl0ZXJz X3NidWYuZGF0YSkpKSk7CisKIAkJcmV0dXJuIFBST0NfV0FJVF9TVEFUVVNfRVJST1I7CisJfQog CiAJLyoKIAkgKiBJbnNlcnQgc2VsZiBpbnRvIHF1ZXVlLCBhdCB0aGUgcG9zaXRpb24gZGV0ZXJt aW5lZCBhYm92ZS4KQEAgLTE0NjYsMTggKzE0OTIsOSBAQCBQcm9jU2xlZXAoTE9DQUxMT0NLICps b2NhbGxvY2ssIExvY2tNZXRob2QgbG9ja01ldGhvZFRhYmxlLCBib29sIGRvbnRXYWl0KQogCQkg Ki8KIAkJaWYgKGxvZ19sb2NrX3dhaXRzICYmIGRlYWRsb2NrX3N0YXRlICE9IERTX05PVF9ZRVRf Q0hFQ0tFRCkKIAkJewotCQkJU3RyaW5nSW5mb0RhdGEgYnVmLAotCQkJCQkJbG9ja193YWl0ZXJz X3NidWYsCi0JCQkJCQlsb2NrX2hvbGRlcnNfc2J1ZjsKLQkJCWNvbnN0IGNoYXIgKm1vZGVuYW1l OwogCQkJbG9uZwkJc2VjczsKIAkJCWludAkJCXVzZWNzOwogCQkJbG9uZwkJbXNlY3M7Ci0JCQlk bGlzdF9pdGVyCXByb2NfaXRlcjsKLQkJCVBST0NMT0NLICAgKmN1cnByb2Nsb2NrOwotCQkJYm9v bAkJZmlyc3RfaG9sZGVyID0gdHJ1ZSwKLQkJCQkJCWZpcnN0X3dhaXRlciA9IHRydWU7Ci0JCQlp bnQJCQlsb2NrSG9sZGVyc051bSA9IDA7CiAKIAkJCWluaXRTdHJpbmdJbmZvKCZidWYpOwogCQkJ aW5pdFN0cmluZ0luZm8oJmxvY2tfd2FpdGVyc19zYnVmKTsKQEAgLTE0OTIsNTMgKzE1MDksMTAg QEAgUHJvY1NsZWVwKExPQ0FMTE9DSyAqbG9jYWxsb2NrLCBMb2NrTWV0aG9kIGxvY2tNZXRob2RU YWJsZSwgYm9vbCBkb250V2FpdCkKIAkJCW1zZWNzID0gc2VjcyAqIDEwMDAgKyB1c2VjcyAvIDEw MDA7CiAJCQl1c2VjcyA9IHVzZWNzICUgMTAwMDsKIAotCQkJLyoKLQkJCSAqIHdlIGxvb3Agb3Zl ciB0aGUgbG9jaydzIHByb2NMb2NrcyB0byBnYXRoZXIgYSBsaXN0IG9mIGFsbAotCQkJICogaG9s ZGVycyBhbmQgd2FpdGVycy4gVGh1cyB3ZSB3aWxsIGJlIGFibGUgdG8gcHJvdmlkZSBtb3JlCi0J CQkgKiBkZXRhaWxlZCBpbmZvcm1hdGlvbiBmb3IgbG9jayBkZWJ1Z2dpbmcgcHVycG9zZXMuCi0J CQkgKgotCQkJICogbG9jay0+cHJvY0xvY2tzIGNvbnRhaW5zIGFsbCBwcm9jZXNzZXMgd2hpY2gg aG9sZCBvciB3YWl0IGZvcgotCQkJICogdGhpcyBsb2NrLgotCQkJICovCi0KIAkJCUxXTG9ja0Fj cXVpcmUocGFydGl0aW9uTG9jaywgTFdfU0hBUkVEKTsKIAotCQkJZGxpc3RfZm9yZWFjaChwcm9j X2l0ZXIsICZsb2NrLT5wcm9jTG9ja3MpCi0JCQl7Ci0JCQkJY3VycHJvY2xvY2sgPQotCQkJCQlk bGlzdF9jb250YWluZXIoUFJPQ0xPQ0ssIGxvY2tMaW5rLCBwcm9jX2l0ZXIuY3VyKTsKLQotCQkJ CS8qCi0JCQkJICogd2UgYXJlIGEgd2FpdGVyIGlmIG15UHJvYy0+d2FpdFByb2NMb2NrID09IGN1 cnByb2Nsb2NrOyB3ZQotCQkJCSAqIGFyZSBhIGhvbGRlciBpZiBpdCBpcyBOVUxMIG9yIHNvbWV0 aGluZyBkaWZmZXJlbnQKLQkJCQkgKi8KLQkJCQlpZiAoY3VycHJvY2xvY2stPnRhZy5teVByb2Mt PndhaXRQcm9jTG9jayA9PSBjdXJwcm9jbG9jaykKLQkJCQl7Ci0JCQkJCWlmIChmaXJzdF93YWl0 ZXIpCi0JCQkJCXsKLQkJCQkJCWFwcGVuZFN0cmluZ0luZm8oJmxvY2tfd2FpdGVyc19zYnVmLCAi JWQiLAotCQkJCQkJCQkJCSBjdXJwcm9jbG9jay0+dGFnLm15UHJvYy0+cGlkKTsKLQkJCQkJCWZp cnN0X3dhaXRlciA9IGZhbHNlOwotCQkJCQl9Ci0JCQkJCWVsc2UKLQkJCQkJCWFwcGVuZFN0cmlu Z0luZm8oJmxvY2tfd2FpdGVyc19zYnVmLCAiLCAlZCIsCi0JCQkJCQkJCQkJIGN1cnByb2Nsb2Nr LT50YWcubXlQcm9jLT5waWQpOwotCQkJCX0KLQkJCQllbHNlCi0JCQkJewotCQkJCQlpZiAoZmly c3RfaG9sZGVyKQotCQkJCQl7Ci0JCQkJCQlhcHBlbmRTdHJpbmdJbmZvKCZsb2NrX2hvbGRlcnNf c2J1ZiwgIiVkIiwKLQkJCQkJCQkJCQkgY3VycHJvY2xvY2stPnRhZy5teVByb2MtPnBpZCk7Ci0J CQkJCQlmaXJzdF9ob2xkZXIgPSBmYWxzZTsKLQkJCQkJfQotCQkJCQllbHNlCi0JCQkJCQlhcHBl bmRTdHJpbmdJbmZvKCZsb2NrX2hvbGRlcnNfc2J1ZiwgIiwgJWQiLAotCQkJCQkJCQkJCSBjdXJw cm9jbG9jay0+dGFnLm15UHJvYy0+cGlkKTsKLQotCQkJCQlsb2NrSG9sZGVyc051bSsrOwotCQkJ CX0KLQkJCX0KKwkJCS8qIENvbGxlY3QgbG9jayBob2xkZXJzIGFuZCB3YWl0ZXJzICovCisJCQlD b2xsZWN0TG9ja0hvbGRlcnNBbmRXYWl0ZXJzKE5VTEwsIGxvY2ssICZsb2NrX2hvbGRlcnNfc2J1 ZiwgJmxvY2tfd2FpdGVyc19zYnVmLCAmbG9ja0hvbGRlcnNOdW0pOwogCiAJCQlMV0xvY2tSZWxl YXNlKHBhcnRpdGlvbkxvY2spOwogCkBAIC0xOTYxLDMgKzE5MzUsNTggQEAgQmVjb21lTG9ja0dy b3VwTWVtYmVyKFBHUFJPQyAqbGVhZGVyLCBpbnQgcGlkKQogCiAJcmV0dXJuIG9rOwogfQorCisv KgorICogd2UgbG9vcCBvdmVyIHRoZSBsb2NrJ3MgcHJvY0xvY2tzIHRvIGdhdGhlciBhIGxpc3Qg b2YgYWxsCisgKiBob2xkZXJzIGFuZCB3YWl0ZXJzLiBUaHVzIHdlIHdpbGwgYmUgYWJsZSB0byBw cm92aWRlIG1vcmUKKyAqIGRldGFpbGVkIGluZm9ybWF0aW9uIGZvciBsb2NrIGRlYnVnZ2luZyBw dXJwb3Nlcy4KKyAqCisgKiBsb2NrLT5wcm9jTG9ja3MgY29udGFpbnMgYWxsIHByb2Nlc3NlcyB3 aGljaCBob2xkIG9yIHdhaXQgZm9yCisgKiB0aGlzIGxvY2suCisgKi8KK3ZvaWQKK0NvbGxlY3RM b2NrSG9sZGVyc0FuZFdhaXRlcnMoUFJPQ0xPQ0sgKndhaXRQcm9jTG9jaywgTE9DSyAqbG9jaywg U3RyaW5nSW5mbyBsb2NrX2hvbGRlcnNfc2J1ZiwgU3RyaW5nSW5mbyBsb2NrX3dhaXRlcnNfc2J1 ZiwgaW50ICpsb2NrSG9sZGVyc051bSkKK3sKKwlib29sIGZpcnN0X2hvbGRlciA9IHRydWU7CisJ Ym9vbCBmaXJzdF93YWl0ZXIgPSB0cnVlOworCWRsaXN0X2l0ZXIgcHJvY19pdGVyOworCVBST0NM T0NLICpjdXJwcm9jbG9jazsKKworCWRsaXN0X2ZvcmVhY2gocHJvY19pdGVyLCAmbG9jay0+cHJv Y0xvY2tzKQorCXsKKwkJY3VycHJvY2xvY2sgPQorCQkJZGxpc3RfY29udGFpbmVyKFBST0NMT0NL LCBsb2NrTGluaywgcHJvY19pdGVyLmN1cik7CisKKwkJLyoKKwkJCSogd2UgYXJlIGEgd2FpdGVy IGlmIG15UHJvYy0+d2FpdFByb2NMb2NrID09IGN1cnByb2Nsb2NrOyB3ZQorCQkJKiBhcmUgYSBo b2xkZXIgaWYgaXQgaXMgTlVMTCBvciBzb21ldGhpbmcgZGlmZmVyZW50CisJCQkqLworCQlpZiAo KHdhaXRQcm9jTG9jayA9PSBOVUxMICYmIGN1cnByb2Nsb2NrLT50YWcubXlQcm9jLT53YWl0UHJv Y0xvY2sgPT0gY3VycHJvY2xvY2spIHx8CisJCQkod2FpdFByb2NMb2NrICE9IE5VTEwgJiYgd2Fp dFByb2NMb2NrID09IGN1cnByb2Nsb2NrKSkKKwkJeworCQkJaWYgKGZpcnN0X3dhaXRlcikKKwkJ CXsKKwkJCQlhcHBlbmRTdHJpbmdJbmZvKGxvY2tfd2FpdGVyc19zYnVmLCAiJWQiLAorCQkJCQkJ CQkJY3VycHJvY2xvY2stPnRhZy5teVByb2MtPnBpZCk7CisJCQkJZmlyc3Rfd2FpdGVyID0gZmFs c2U7CisJCQl9CisJCQllbHNlCisJCQkJYXBwZW5kU3RyaW5nSW5mbyhsb2NrX3dhaXRlcnNfc2J1 ZiwgIiwgJWQiLAorCQkJCQkJCQkJY3VycHJvY2xvY2stPnRhZy5teVByb2MtPnBpZCk7CisJCX0K KwkJZWxzZQorCQl7CisJCQlpZiAoZmlyc3RfaG9sZGVyKQorCQkJeworCQkJCWFwcGVuZFN0cmlu Z0luZm8obG9ja19ob2xkZXJzX3NidWYsICIlZCIsCisJCQkJCQkJCQljdXJwcm9jbG9jay0+dGFn Lm15UHJvYy0+cGlkKTsKKwkJCQlmaXJzdF9ob2xkZXIgPSBmYWxzZTsKKwkJCX0KKwkJCWVsc2UK KwkJCQlhcHBlbmRTdHJpbmdJbmZvKGxvY2tfaG9sZGVyc19zYnVmLCAiLCAlZCIsCisJCQkJCQkJ CQljdXJwcm9jbG9jay0+dGFnLm15UHJvYy0+cGlkKTsKKworCQkJKCpsb2NrSG9sZGVyc051bSkr KzsKKwkJfQorCX0KK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg== --=_0fdcb4d443891a7b330dced0fd6e0d46--