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 1u1tFl-009vCB-6M for pgsql-hackers@arkaria.postgresql.org; Mon, 07 Apr 2025 20:39:34 +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 1u1tFj-003mZG-Ij for pgsql-hackers@arkaria.postgresql.org; Mon, 07 Apr 2025 20:39:31 +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 1u1tFi-003mVh-VR for pgsql-hackers@lists.postgresql.org; Mon, 07 Apr 2025 20:39:31 +0000 Received: from mail.postgrespro.ru ([93.174.132.70]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1u1tFg-003XYp-0c for pgsql-hackers@postgresql.org; Mon, 07 Apr 2025 20:39:30 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mx2023; t=1744058364; bh=nYXr1e8fdmhEhDwT/wjs5bZWKkZy1mGxndP1Voc6qjo=; h=Message-ID:Date:User-Agent:Subject:To:Cc:References:From: In-Reply-To:From; b=vKlSPc6wgle+yiVbqw1ARXLUY0LG1mtv0TiyuTqUJVQTJhxBlA0dUxERsOKi4m3d6 YLbLtmbcnHDJp9GjfVyGTualmqBjuOmXLfqWQLeX1Fh5yH2shtj7PioIfNQGDfS8wR pKaPSiDpZqPCTqjzS6IuQpNmZSDG47Hz9hZ3DyuUcKHwyNikMcm59xfNk4I1E7McSi kVe8HfkAIxAcpvqjk8G+yKnjbqumI3wyPUtxSl3VKETv6YjprlzHdpDS1wf3bJrLcM yoNd+71SjxNpM61EFqLX1rs8E5fqY7YBreo6YHSdSXKYnQj5IOkZaQlWNT3CIq/Ags RUzHTtUKYYo6g== Received: from [172.30.48.46] (unknown [93.174.131.138]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: m.melnikov@postgrespro.ru) by mail.postgrespro.ru (Postfix/465) with ESMTPSA id 5B5B8602AA; Mon, 7 Apr 2025 23:39:24 +0300 (MSK) Content-Type: multipart/mixed; boundary="------------5ul7DHVMRtRSZKEGmGsSPEvr" Message-ID: Date: Mon, 7 Apr 2025 23:39:23 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: sync_standbys_defined read/write race on startup To: Michael Paquier , Kirill Reshke Cc: PostgreSQL Hackers References: <163fcbec-900b-4b07-beaa-d2ead8634bec@postgrespro.ru> Content-Language: en-US From: "Maksim.Melnikov" In-Reply-To: X-KSMG-AntiPhishing: NotDetected X-KSMG-AntiSpam-Interceptor-Info: not scanned X-KSMG-AntiSpam-Status: not scanned, disabled by settings X-KSMG-AntiVirus: Kaspersky Secure Mail Gateway, version 2.1.0.7854, bases: 2025/04/07 18:52:00 #27863206 X-KSMG-AntiVirus-Status: NotDetected, skipped X-KSMG-LinksScanning: not scanned, disabled by settings X-KSMG-Message-Action: skipped X-KSMG-Rule-ID: 1 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------5ul7DHVMRtRSZKEGmGsSPEvr Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi everyone, thanks for your comments. I've just wanted to share little cosmetic fixes for previous patch. Best Regards, Maksim Melnikov --------------5ul7DHVMRtRSZKEGmGsSPEvr Content-Type: text/x-patch; charset=UTF-8; name="0003-Fix-sync_standbys_defined-race-on-startup.patch" Content-Disposition: attachment; filename="0003-Fix-sync_standbys_defined-race-on-startup.patch" Content-Transfer-Encoding: base64 RnJvbSA3NDhjNWZlOGVmZDRjNjM2NWYzODBmN2Y5YmJlYmE1ZTkxODg3YWI0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNYWtzaW0gTWVsbmlrb3YgPG0ubWVsbmlrb3ZAcG9z dGdyZXNwcm8ucnU+CkRhdGU6IFdlZCwgMjYgTWFyIDIwMjUgMTY6NDQ6MDkgKzAzMDAKU3Vi amVjdDogW1BBVENIXSBGaXggc3luY19zdGFuZGJ5c19kZWZpbmVkIHJhY2Ugb24gc3RhcnR1 cC4KCldhbFNuZEN0bC0+c3luY19zdGFuZGJ5c19kZWZpbmVkLCBjYW4gYmUgdXBkYXRlZApi eSBjaGVja3BvaW50ZXIgcHJvY2VzcyBvbmx5IGFuZCBpbiBiYWNrZW5kcyBpdApjYW4gYmUg cmVhZC4gU28sIG9uIHBvc3RncmVzIHN0YXJ0dXAsIHdlIGhhdmUgcmFjZQpiZXR3ZWVuIGNo ZWNrcG9pbnRlciBwcm9jZXNzIGFuZCBiYWNrZW5kcywgdGhhdCBjaGVjawpzeW5jX3N0YW5k YnlzX2RlZmluZWQgZm9yIHN5bmMgcmVwbGljYXRpb25zLgoKVG8gYXZvaWQgdGhpcywgbm93 IHdlIGFyZSB3b3JraW5nIHdpdGggc3luY19zdGFuZGJ5c19kZWZpbmVkCm5vdCBhcyBib29s IGZpZWxkLCBidXQgYXMgYml0bWFzaywgd2hlcmUgN3RoIGJpdCBjaGVjawpzdGFuZGJ5c19k ZWZpbmVkIG9yIG5vdCwgOHRoIGJpdCBjaGVjawpXYWxTbmRDdGxEYXRhLT5zeW5jX3N0YW5k YnlzX2RlZmluZWQgZmllbGQgaGFzIGJlZW4KaW5pdGlhbGl6ZWQgYnkgY2hlY2twb2ludGVy LiBTbyBpZiBpbiBzeW5jaHJvbm91cyByZXBsaWNhdGlvbiBmdW5jdGlvbnMKd2FzIGRldGVj dGVkIHRoYXQgc3luY19zdGFuZGJ5c19kZWZpbmVkIGlzIG5vdCBpbml0aWFsaXplZCwKY2hl Y2sgU3luY1N0YW5kYnlzRGVmaW5lZCgpIHZhbHVlLgotLS0KIHNyYy9iYWNrZW5kL3JlcGxp Y2F0aW9uL3N5bmNyZXAuYyAgICAgICAgICAgfCAzMSArKysrKysrKysrKysrKysrKy0tLS0K IHNyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL3dhbHNlbmRlcl9wcml2YXRlLmggfCAxOCArKysr KysrKysrKy0KIDIgZmlsZXMgY2hhbmdlZCwgNDIgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9zeW5jcmVwLmMg Yi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9zeW5jcmVwLmMKaW5kZXggZDc1ZTM5NjgwMzUu LjYwYjk1MDdhYTQxIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9zeW5j cmVwLmMKKysrIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vc3luY3JlcC5jCkBAIC0xNDgs NiArMTQ4LDcgQEAgdm9pZAogU3luY1JlcFdhaXRGb3JMU04oWExvZ1JlY1B0ciBsc24sIGJv b2wgY29tbWl0KQogewogCWludAkJCW1vZGU7CisJYm9vbAkJc3luY19zdGFuZGJ5c19kZWZp bmVkOwogCiAJLyoKIAkgKiBUaGlzIHNob3VsZCBiZSBjYWxsZWQgd2hpbGUgaG9sZGluZyBp bnRlcnJ1cHRzIGR1cmluZyBhIHRyYW5zYWN0aW9uCkBAIC0xNzAsNyArMTcxLDcgQEAgU3lu Y1JlcFdhaXRGb3JMU04oWExvZ1JlY1B0ciBsc24sIGJvb2wgY29tbWl0KQogCSAqIGl0J3Mg ZmFsc2UsIHRoZSBsb2NrIGlzIG5vdCBuZWNlc3NhcnkgYmVjYXVzZSB3ZSBkb24ndCB0b3Vj aCB0aGUgcXVldWUuCiAJICovCiAJaWYgKCFTeW5jUmVwUmVxdWVzdGVkKCkgfHwKLQkJISgo dm9sYXRpbGUgV2FsU25kQ3RsRGF0YSAqKSBXYWxTbmRDdGwpLT5zeW5jX3N0YW5kYnlzX2Rl ZmluZWQpCisJCUlTX1NZTkNTVEFOREJZU19JTklUSUFMSVpFRF9PTkxZKCgodm9sYXRpbGUg V2FsU25kQ3RsRGF0YSAqKSBXYWxTbmRDdGwpLT5zeW5jX3N0YW5kYnlzX2RlZmluZWQpKQog CQlyZXR1cm47CiAKIAkvKiBDYXAgdGhlIGxldmVsIGZvciBhbnl0aGluZyBvdGhlciB0aGFu IGNvbW1pdCB0byByZW1vdGUgZmx1c2ggb25seS4gKi8KQEAgLTE4NCw2ICsxODUsOCBAQCBT eW5jUmVwV2FpdEZvckxTTihYTG9nUmVjUHRyIGxzbiwgYm9vbCBjb21taXQpCiAKIAlMV0xv Y2tBY3F1aXJlKFN5bmNSZXBMb2NrLCBMV19FWENMVVNJVkUpOwogCUFzc2VydChNeVByb2Mt PnN5bmNSZXBTdGF0ZSA9PSBTWU5DX1JFUF9OT1RfV0FJVElORyk7CisJc3luY19zdGFuZGJ5 c19kZWZpbmVkID0gV2FsU25kQ3RsLT5zeW5jX3N0YW5kYnlzX2RlZmluZWQgJiBTWU5DU1RB TkRCWVNJTklUSUFMSVpFRAorCQk/IChXYWxTbmRDdGwtPnN5bmNfc3RhbmRieXNfZGVmaW5l ZCAmIFNZTkNTVEFOREJZU0RFRklORUQpIDogU3luY1N0YW5kYnlzRGVmaW5lZCgpOwogCiAJ LyoKIAkgKiBXZSBkb24ndCB3YWl0IGZvciBzeW5jIHJlcCBpZiBXYWxTbmRDdGwtPnN5bmNf c3RhbmRieXNfZGVmaW5lZCBpcyBub3QKQEAgLTE5Myw3ICsxOTYsNyBAQCBTeW5jUmVwV2Fp dEZvckxTTihYTG9nUmVjUHRyIGxzbiwgYm9vbCBjb21taXQpCiAJICogY29uZGl0aW9uIGJ1 dCB3ZSdsbCBiZSBmZXRjaGluZyB0aGF0IGNhY2hlIGxpbmUgYW55d2F5IHNvIGl0J3MgbGlr ZWx5CiAJICogdG8gYmUgYSBsb3cgY29zdCBjaGVjay4KIAkgKi8KLQlpZiAoIVdhbFNuZEN0 bC0+c3luY19zdGFuZGJ5c19kZWZpbmVkIHx8CisJaWYgKCFzeW5jX3N0YW5kYnlzX2RlZmlu ZWQgfHwKIAkJbHNuIDw9IFdhbFNuZEN0bC0+bHNuW21vZGVdKQogCXsKIAkJTFdMb2NrUmVs ZWFzZShTeW5jUmVwTG9jayk7CkBAIC05MjAsOSArOTIzLDEwIEBAIFN5bmNSZXBXYWtlUXVl dWUoYm9vbCBhbGwsIGludCBtb2RlKQogdm9pZAogU3luY1JlcFVwZGF0ZVN5bmNTdGFuZGJ5 c0RlZmluZWQodm9pZCkKIHsKLQlib29sCQlzeW5jX3N0YW5kYnlzX2RlZmluZWQgPSBTeW5j U3RhbmRieXNEZWZpbmVkKCk7CisJYm9vbAkJbmV3X3N5bmNfc3RhbmRieXNfZGVmaW5lZCA9 IFN5bmNTdGFuZGJ5c0RlZmluZWQoKTsKKwlib29sCQlvbGRfc3luY19zdGFuZGJ5c19kZWZp bmVkID0gKFdhbFNuZEN0bC0+c3luY19zdGFuZGJ5c19kZWZpbmVkICYgU1lOQ1NUQU5EQllT REVGSU5FRCk7CiAKLQlpZiAoc3luY19zdGFuZGJ5c19kZWZpbmVkICE9IFdhbFNuZEN0bC0+ c3luY19zdGFuZGJ5c19kZWZpbmVkKQorCWlmIChuZXdfc3luY19zdGFuZGJ5c19kZWZpbmVk ICE9IG9sZF9zeW5jX3N0YW5kYnlzX2RlZmluZWQpCiAJewogCQlMV0xvY2tBY3F1aXJlKFN5 bmNSZXBMb2NrLCBMV19FWENMVVNJVkUpOwogCkBAIC05MzEsNyArOTM1LDcgQEAgU3luY1Jl cFVwZGF0ZVN5bmNTdGFuZGJ5c0RlZmluZWQodm9pZCkKIAkJICogZm9yIGJhY2tlbmRzIHRv IGNvbnRpbnVlIHdhaXRpbmcuICBTaW5jZSB0aGUgdXNlciBubyBsb25nZXIgd2FudHMKIAkJ ICogc3luY2hyb25vdXMgcmVwbGljYXRpb24sIHdlJ2QgYmV0dGVyIHdha2UgdGhlbSB1cC4K IAkJICovCi0JCWlmICghc3luY19zdGFuZGJ5c19kZWZpbmVkKQorCQlpZiAoIW5ld19zeW5j X3N0YW5kYnlzX2RlZmluZWQpCiAJCXsKIAkJCWludAkJCWk7CiAKQEAgLTk0Niw4ICs5NTAs MjMgQEAgU3luY1JlcFVwZGF0ZVN5bmNTdGFuZGJ5c0RlZmluZWQodm9pZCkKIAkJICogYmFj a2VuZCB0aGF0IGhhc24ndCB5ZXQgcmVsb2FkZWQgaXRzIGNvbmZpZyBtaWdodCBnbyB0byBz bGVlcCBvbgogCQkgKiB0aGUgcXVldWUgKGFuZCBuZXZlciB3YWtlIHVwKS4gIFRoaXMgcHJl dmVudHMgdGhhdC4KIAkJICovCi0JCVdhbFNuZEN0bC0+c3luY19zdGFuZGJ5c19kZWZpbmVk ID0gc3luY19zdGFuZGJ5c19kZWZpbmVkOwogCisJCVdhbFNuZEN0bC0+c3luY19zdGFuZGJ5 c19kZWZpbmVkID0gbmV3X3N5bmNfc3RhbmRieXNfZGVmaW5lZAorCQkJPyBTRVRfU1lOQ1NU QU5EQllTX0RFRklORUQoV2FsU25kQ3RsLT5zeW5jX3N0YW5kYnlzX2RlZmluZWQpCisJCQk6 IFJFU0VUX1NZTkNTVEFOREJZU19ERUZJTkVEKFdhbFNuZEN0bC0+c3luY19zdGFuZGJ5c19k ZWZpbmVkKTsKKworCQlMV0xvY2tSZWxlYXNlKFN5bmNSZXBMb2NrKTsKKwl9CisJZWxzZSBp ZiAoIShXYWxTbmRDdGwtPnN5bmNfc3RhbmRieXNfZGVmaW5lZCAmIFNZTkNTVEFOREJZU0lO SVRJQUxJWkVEKSkKKwl7CisJCS8qCisJCSAqIEV2ZW4gaWYgbmV3X3N5bmNfc3RhbmRieXNf ZGVmaW5lZCA9PSBvbGRfc3luY19zdGFuZGJ5c19kZWZpbmVkLCB3ZQorCQkgKiBzaG91bGQg Y2hlY2sgV2FsU25kQ3RsLT5zeW5jX3N0YW5kYnlzX2RlZmluZWQgaXMgaW5pdGlhbGl6ZWQg YW5kCisJCSAqIHNldCBpdHMgaW5pdGlhbGl6ZSBiaXQsIGlmIGl0IHJlc2V0LiBBbnl3YXkg dGhpcyBiaXQgc2hvdWxkIGJlIHNldAorCQkgKiBvbmx5IG9uIHN0YXJ0IGFuZCB0aGVuIGl0 IHdpbGwgYmUgYWx3YXlzIHNldHRlZC4KKwkJICovCisJCUxXTG9ja0FjcXVpcmUoU3luY1Jl cExvY2ssIExXX0VYQ0xVU0lWRSk7CisJCVNFVF9TWU5DU1RBTkRCWVNfSU5JVElBTElaRUQo V2FsU25kQ3RsLT5zeW5jX3N0YW5kYnlzX2RlZmluZWQpOwogCQlMV0xvY2tSZWxlYXNlKFN5 bmNSZXBMb2NrKTsKIAl9CiB9CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9yZXBsaWNhdGlv bi93YWxzZW5kZXJfcHJpdmF0ZS5oIGIvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vd2Fsc2Vu ZGVyX3ByaXZhdGUuaAppbmRleCAwZmM3N2YxYjRhZi4uZGQ5MzFiODFlNGYgMTAwNjQ0Ci0t LSBhL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL3dhbHNlbmRlcl9wcml2YXRlLmgKKysrIGIv c3JjL2luY2x1ZGUvcmVwbGljYXRpb24vd2Fsc2VuZGVyX3ByaXZhdGUuaApAQCAtMTAwLDcg KzEwMCw3IEBAIHR5cGVkZWYgc3RydWN0CiAJICogY29uZmlnIGZpbGUgc2FmZWx5LCBzbyBj aGVja3BvaW50ZXIgdXBkYXRlcyB0aGlzIHZhbHVlIGFzIG5lZWRlZC4KIAkgKiBQcm90ZWN0 ZWQgYnkgU3luY1JlcExvY2suCiAJICovCi0JYm9vbAkJc3luY19zdGFuZGJ5c19kZWZpbmVk OworCXVpbnQ4CQlzeW5jX3N0YW5kYnlzX2RlZmluZWQ7CiAKIAkvKiB1c2VkIGFzIGEgcmVn aXN0cnkgb2YgcGh5c2ljYWwgLyBsb2dpY2FsIHdhbHNlbmRlcnMgdG8gd2FrZSAqLwogCUNv bmRpdGlvblZhcmlhYmxlIHdhbF9mbHVzaF9jdjsKQEAgLTExNiw2ICsxMTYsMjIgQEAgdHlw ZWRlZiBzdHJ1Y3QKIAlXYWxTbmQJCXdhbHNuZHNbRkxFWElCTEVfQVJSQVlfTUVNQkVSXTsK IH0gV2FsU25kQ3RsRGF0YTsKIAorLyoKKyAqIFdhbFNuZEN0bERhdGEtPnN5bmNfc3RhbmRi eXNfZGVmaW5lZCBiaXQgZmxhZ3MuIDd0aCBiaXQgY2hlY2sgc3RhbmRieXNfZGVmaW5lZCBv ciBub3QsCisgKiA4dGggYml0IGNoZWNrIFdhbFNuZEN0bERhdGEtPnN5bmNfc3RhbmRieXNf ZGVmaW5lZCBmaWVsZCBoYXMgYmVlbiBpbml0aWFsaXplZC4KKyAqLworI2RlZmluZSBTWU5D U1RBTkRCWVNJTklUSUFMSVpFRAkoMSA8PCAwKQorI2RlZmluZSBTWU5DU1RBTkRCWVNERUZJ TkVECQkoMSA8PCAxKQorCisjZGVmaW5lIFNFVF9TWU5DU1RBTkRCWVNfSU5JVElBTElaRUQo c3luY19zdGFuZGJ5cykJXAorCShzeW5jX3N0YW5kYnlzIHwgU1lOQ1NUQU5EQllTSU5JVElB TElaRUQpCisjZGVmaW5lIFNFVF9TWU5DU1RBTkRCWVNfREVGSU5FRChzeW5jX3N0YW5kYnlz KQlcCisJKHN5bmNfc3RhbmRieXMgfCBTWU5DU1RBTkRCWVNJTklUSUFMSVpFRCB8IFNZTkNT VEFOREJZU0RFRklORUQpCisjZGVmaW5lIFJFU0VUX1NZTkNTVEFOREJZU19ERUZJTkVEKHN5 bmNfc3RhbmRieXMpCVwKKwkoU0VUX1NZTkNTVEFOREJZU19JTklUSUFMSVpFRChzeW5jX3N0 YW5kYnlzKSAmICh+U1lOQ1NUQU5EQllTREVGSU5FRCkpCisjZGVmaW5lIElTX1NZTkNTVEFO REJZU19JTklUSUFMSVpFRF9PTkxZKHN5bmNfc3RhbmRieXMpCVwKKwkoKHN5bmNfc3RhbmRi eXMgJiAoU1lOQ1NUQU5EQllTSU5JVElBTElaRUQgfCBTWU5DU1RBTkRCWVNERUZJTkVEKSkg PT0gU1lOQ1NUQU5EQllTSU5JVElBTElaRUQpCisKIGV4dGVybiBQR0RMTElNUE9SVCBXYWxT bmRDdGxEYXRhICpXYWxTbmRDdGw7CiAKIAotLSAKMi40My4wCgo= --------------5ul7DHVMRtRSZKEGmGsSPEvr--