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.96) (envelope-from ) id 1wWzAK-002zKm-0h for pgsql-hackers@arkaria.postgresql.org; Tue, 09 Jun 2026 16:19:01 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wWzAH-007cFy-1W for pgsql-hackers@arkaria.postgresql.org; Tue, 09 Jun 2026 16:18:57 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wWzAG-007cFe-32 for pgsql-hackers@lists.postgresql.org; Tue, 09 Jun 2026 16:18:57 +0000 Received: from mail.postgrespro.ru ([93.174.132.70]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1wWzAD-00000002B4x-36tw for pgsql-hackers@lists.postgresql.org; Tue, 09 Jun 2026 16:18:56 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mx2023; t=1781021931; bh=RF56vHZIu76TdcRFMAs7phxY6d4acge03lTEwHWShkQ=; h=Message-ID:Date:User-Agent:Subject:To:Cc:References:From: In-Reply-To:From; b=iJE8dadV2gZRTA/PAtM7Z49wud3ePuFuMTlx7hUe0LjIaUAzZXch/oSEmO0sl0+ne yxGkh8i34pTtMuGAfyjdVbyt1M0OlJVVvkMuGdZn7Sf9MFl/RlbMOD27ifnTHLSq3Z Sb9B4icRlRDMZ4GrJFirJ+o9BUAVv2fJnwv4AwRsb15YNrjL+kKLqWJrPMYl/JfgQB p2iO8/rs+FC0BaD+eIxq4Mp1HNvYRvJN5y8+rQqyA9kywTXt7cu6URDRS3l8ygdcu4 mGGH1jsp0+oNGMRgY/s9TwweZwYlIbtEFoiwybTwN5AkY98EinrGvfQH+6yjAoXpNL zZ3WpU2fi3yzg== Received: from [172.30.49.198] (debian11-template.l.postgrespro.ru [192.168.2.254]) (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: v.davydov@postgrespro.ru) by mail.postgrespro.ru (Postfix/465) with ESMTPSA id B943A607EC; Tue, 9 Jun 2026 19:18:51 +0300 (MSK) Content-Type: multipart/mixed; boundary="------------n4ZUDYtOJ96ofy0MGoQrGWXe" Message-ID: <12324a50-95d3-4de4-bd89-b295924b35bb@postgrespro.ru> Date: Tue, 9 Jun 2026 19:18:51 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Deadlock detector fails to activate on a hot standby replica To: Fujii Masao Cc: pgsql-hackers@lists.postgresql.org References: <44c24dcf-5710-410f-b1b6-d10b315f3d51@postgrespro.ru> <25cba756-9459-4811-aeaf-4a8715735c82@postgrespro.ru> Content-Language: en-US From: Vitaly Davydov 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 3.0.0.9059, bases: 2026/06/09 13:22:00 #28224768 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. --------------n4ZUDYtOJ96ofy0MGoQrGWXe Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 6/5/26 14:58, Fujii Masao wrote: > I've updated the patch based on these comments. > Attached is the latest version. > > I removed the TAP test from this patch for now. I'll consider adding > a test for this separately later. Thank you again for your assistance. I agree with the code changes you've proposed. I've updated 031_recovery_conflict.pl to include the deadlock test, instead of creating a separate TAP test. The attached patch contains these changes in its second commit. I've kept the patch version as v3 since the original fix remains unchanged; this update only adds new tests. With best regards, Vitaly --------------n4ZUDYtOJ96ofy0MGoQrGWXe Content-Type: text/x-patch; charset=UTF-8; name="v3-0001-Fix-deadlock-detector-activation-in-a-recovery-confl.patch" Content-Disposition: attachment; filename*0="v3-0001-Fix-deadlock-detector-activation-in-a-recovery-confl"; filename*1=".patch" Content-Transfer-Encoding: base64 RnJvbSBhMjI4NzE3NGQ1YzU5NTc1MmY3ZTVjNDQ3ODA3YWYyMTljNzg1ODJlIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBWaXRhbHkgRGF2eWRvdiA8di5kYXZ5ZG92QHBvc3Rn cmVzcHJvLnJ1PgpEYXRlOiBXZWQsIDIwIE1heSAyMDI2IDExOjQ4OjM0ICswMzAwClN1Ympl Y3Q6IFtQQVRDSCAxLzJdIEZpeCBkZWFkbG9jayBkZXRlY3RvciBhY3RpdmF0aW9uIGluIGEg cmVjb3ZlcnkgY29uZmxpY3QKCldoZW4gdGhlIHN0YXJ0dXAgcHJvY2VzcyBpbiBhIGRlYWRs b2NrIHdpdGggYSBiYWNrZW5kLCBpdCBzZW5kcyB0aGUKc2lnbmFsIHRvIHRoZSBiYWNrZW5k IHRvIHRyaWdnZXIgdGhlIGRlYWRsb2NrIGRldGVjdG9yIHdoZW4KdGhlIGRlYWRsb2NrIHRp bWVvdXQgaXMgZWxhcHNlZCAoZGVhZGxvY2tfdGltZW91dCBndWMpLiBEdWUgdG8gc29tZQpv cHRpbWl6YXRpb24gaW4gdGltZW91dC5jLCB3aGVuIHNwb250YW5lb3VzIFNJR0FMUk0gc2ln bmFscyBhcmUKcG9zc2libGUsIHdoaWNoIGRvZXNuJ3QgcmVsYXRlIHRvIGFueSBlbmFibGVk IHRpbWVvdXQsIHRoZSBmdW5jdGlvbgpSZXNvbHZlUmVjb3ZlcnlDb25mbGljdFdpdGhCdWZm ZXJQaW4gY2FuIG5ldmVyIHNlbmQgdGhlIHNpZ25hbCB0byB0aGUKY29uZmxpY3RpbmcgYmFj a2VuZCwgYmVjYXNlIHRoZSBkZWFkbG9jayB0aW1lb3V0IHdpbGwgbmV2ZXIgYmUKdHJpZ2dl cmVkLgoKVGhlIHBhdGNoIGZpeGVzIFJlc29sdmVSZWNvdmVyeUNvbmZsaWN0V2l0aEJ1ZmZl clBpbiBieSBpZ25vcmluZwpzcG9udGFuZW91cyBTSUdBTFJNIHNpZ25hbHMsIHRoYXQgYXJl IHBvc3NpYmxlIGluIHRoZSBjdXJyZW50CmltcGxlbWVudGF0aW9uIG9mIHRpbWVvdXQuYyBm dW5jdGlvbmFsaXR5LgotLS0KIHNyYy9iYWNrZW5kL3N0b3JhZ2UvYnVmZmVyL2J1Zm1nci5j IHwgMjMgKysrKysrKysKIHNyYy9iYWNrZW5kL3N0b3JhZ2UvaXBjL3N0YW5kYnkuYyAgIHwg ODEgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KIHNyYy9pbmNsdWRlL3N0b3JhZ2Uv YnVmbWdyLmggICAgICAgIHwgIDEgKwogMyBmaWxlcyBjaGFuZ2VkLCA4MCBpbnNlcnRpb25z KCspLCAyNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9zdG9yYWdl L2J1ZmZlci9idWZtZ3IuYyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2UvYnVmZmVyL2J1Zm1nci5j CmluZGV4IGNjMzk4ZGIxMjRkLi43NTAyYjQ2MTc4NiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tl bmQvc3RvcmFnZS9idWZmZXIvYnVmbWdyLmMKKysrIGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9i dWZmZXIvYnVmbWdyLmMKQEAgLTQ3NDksNiArNDc0OSwyOSBAQCBCdWZmZXJHZXRMU05BdG9t aWMoQnVmZmVyIGJ1ZmZlcikKICNlbmRpZgogfQogCisvKgorICogQnVmZmVyR2V0UmVmQ291 bnQKKyAqCQlSZXR1cm4gdGhlIGN1cnJlbnQgcmVmZXJlbmNlIGNvdW50ZXIgZm9yIGEgc2hh cmVkIGJ1ZmZlci4KKyAqLwordWludDMyCitCdWZmZXJHZXRSZWZDb3VudChCdWZmZXIgYnVm ZmVyKQoreworCUJ1ZmZlckRlc2MgKmJ1ZkhkcjsKKwl1aW50NjQJCWJ1Zl9zdGF0ZTsKKwl1 aW50MzIJCWJ1Zl9yZWZjb3VudDsKKworCUFzc2VydChCdWZmZXJJc1ZhbGlkKGJ1ZmZlcikp OworCUFzc2VydCghQnVmZmVySXNMb2NhbChidWZmZXIpKTsKKworCWJ1ZkhkciA9IEdldEJ1 ZmZlckRlc2NyaXB0b3IoYnVmZmVyIC0gMSk7CisKKwlidWZfc3RhdGUgPSBMb2NrQnVmSGRy KGJ1Zkhkcik7CisJYnVmX3JlZmNvdW50ID0gQlVGX1NUQVRFX0dFVF9SRUZDT1VOVChidWZf c3RhdGUpOworCVVubG9ja0J1ZkhkcihidWZIZHIpOworCisJcmV0dXJuIGJ1Zl9yZWZjb3Vu dDsKK30KKwogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgKgkJRHJvcFJlbGF0aW9uQnVmZmVycwog ICoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3N0b3JhZ2UvaXBjL3N0YW5kYnkuYyBiL3Ny Yy9iYWNrZW5kL3N0b3JhZ2UvaXBjL3N0YW5kYnkuYwppbmRleCBkZTkwOTJmZGY1Yi4uOGNl YTIwMWRmNWYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3N0b3JhZ2UvaXBjL3N0YW5kYnku YworKysgYi9zcmMvYmFja2VuZC9zdG9yYWdlL2lwYy9zdGFuZGJ5LmMKQEAgLTc5MCwxNCAr NzkwLDIxIEBAIGNsZWFudXA6CiAgKiBEZWFkbG9ja3MgYXJlIGV4dHJlbWVseSByYXJlLCBh bmQgcmVsYXRpdmVseSBleHBlbnNpdmUgdG8gY2hlY2sgZm9yLAogICogc28gd2UgZG9uJ3Qg ZG8gYSBkZWFkbG9jayBjaGVjayByaWdodCBhd2F5IC4uLiBvbmx5IGlmIHdlIGhhdmUgaGFk IHRvIHdhaXQKICAqIGF0IGxlYXN0IGRlYWRsb2NrX3RpbWVvdXQuCisgKgorICogVGhlIGN1 cnJlbnQgcHJvY2VzcyBzaG91bGQgYmUgdGhlIHdhaXRlciBwcm9jZXNzIGFuZCBzaG91bGQg aGF2ZQorICogcHVibGlzaGVkIHRoZSB3YWl0ZWQgYnVmZmVyIHZpYSBTZXRTdGFydHVwQnVm ZmVyUGluV2FpdEJ1ZklkKCkuCiAgKi8KIHZvaWQKIFJlc29sdmVSZWNvdmVyeUNvbmZsaWN0 V2l0aEJ1ZmZlclBpbih2b2lkKQogewogCVRpbWVzdGFtcFR6IGx0aW1lOworCWludAkJCWJ1 ZmlkOwogCiAJQXNzZXJ0KEluSG90U3RhbmRieSk7CiAKKwlidWZpZCA9IEdldFN0YXJ0dXBC dWZmZXJQaW5XYWl0QnVmSWQoKTsKKwlBc3NlcnQoYnVmaWQgPj0gMCk7CisKIAlsdGltZSA9 IEdldFN0YW5kYnlMaW1pdFRpbWUoKTsKIAogCWlmIChHZXRDdXJyZW50VGltZXN0YW1wKCkg Pj0gbHRpbWUgJiYgbHRpbWUgIT0gMCkKQEAgLTgzMywzNSArODQwLDU5IEBAIFJlc29sdmVS ZWNvdmVyeUNvbmZsaWN0V2l0aEJ1ZmZlclBpbih2b2lkKQogCQllbmFibGVfdGltZW91dHMo dGltZW91dHMsIGNudCk7CiAJfQogCi0JLyoKLQkgKiBXYWl0IHRvIGJlIHNpZ25hbGVkIGJ5 IFVucGluQnVmZmVyKCkgb3IgZm9yIHRoZSB3YWl0IHRvIGJlIGludGVycnVwdGVkCi0JICog Ynkgb25lIG9mIHRoZSB0aW1lb3V0cyBlc3RhYmxpc2hlZCBhYm92ZS4KLQkgKgotCSAqIFdl IGFzc3VtZSB0aGF0IG9ubHkgVW5waW5CdWZmZXIoKSBhbmQgdGhlIHRpbWVvdXQgcmVxdWVz dHMgZXN0YWJsaXNoZWQKLQkgKiBhYm92ZSBjYW4gd2FrZSB1cyB1cCBoZXJlLiBXYWtldXBS ZWNvdmVyeSgpIGNhbGxlZCBieSB3YWxyZWNlaXZlciBvcgotCSAqIFNJR0hVUCBzaWduYWwg aGFuZGxlciwgZXRjIGNhbm5vdCBkbyB0aGF0IGJlY2F1c2UgaXQgdXNlcyB0aGUgZGlmZmVy ZW50Ci0JICogbGF0Y2ggZnJvbSB0aGF0IFByb2NXYWl0Rm9yU2lnbmFsKCkgd2FpdHMgb24u Ci0JICovCi0JUHJvY1dhaXRGb3JTaWduYWwoV0FJVF9FVkVOVF9CVUZGRVJfQ0xFQU5VUCk7 Ci0KLQlpZiAoZ290X3N0YW5kYnlfZGVsYXlfdGltZW91dCkKLQkJU2VuZFJlY292ZXJ5Q29u ZmxpY3RXaXRoQnVmZmVyUGluKFJFQ09WRVJZX0NPTkZMSUNUX0JVRkZFUlBJTik7Ci0JZWxz ZSBpZiAoZ290X3N0YW5kYnlfZGVhZGxvY2tfdGltZW91dCkKKwlmb3IgKDs7KQogCXsKKwkJ dWludDMyCQlyZWZjb3VudDsKKwogCQkvKgotCQkgKiBTZW5kIG91dCBhIHJlcXVlc3QgZm9y IGhvdC1zdGFuZGJ5IGJhY2tlbmRzIHRvIGNoZWNrIHRoZW1zZWx2ZXMgZm9yCi0JCSAqIGRl YWRsb2Nrcy4KKwkJICogV2FpdCB0byBiZSBzaWduYWxlZCBieSBVbnBpbkJ1ZmZlcigpIG9y IGZvciB0aGUgd2FpdCB0byBiZQorCQkgKiBpbnRlcnJ1cHRlZCBieSBvbmUgb2YgdGhlIHRp bWVvdXRzIGVzdGFibGlzaGVkIGFib3ZlLgogCQkgKgotCQkgKiBYWFggVGhlIHN1YnNlcXVl bnQgUmVzb2x2ZVJlY292ZXJ5Q29uZmxpY3RXaXRoQnVmZmVyUGluKCkgd2lsbCB3YWl0Ci0J CSAqIHRvIGJlIHNpZ25hbGVkIGJ5IFVucGluQnVmZmVyKCkgYWdhaW4gYW5kIHNlbmQgYSBy ZXF1ZXN0IGZvcgotCQkgKiBkZWFkbG9ja3MgY2hlY2sgaWYgZGVhZGxvY2tfdGltZW91dCBo YXBwZW5zLiBUaGlzIGNhdXNlcyB0aGUKLQkJICogcmVxdWVzdCB0byBjb250aW51ZSB0byBi ZSBzZW50IGV2ZXJ5IGRlYWRsb2NrX3RpbWVvdXQgdW50aWwgdGhlCi0JCSAqIGJ1ZmZlciBp cyB1bnBpbm5lZCBvciBsdGltZSBpcyByZWFjaGVkLiBUaGlzIHdvdWxkIGluY3JlYXNlIHRo ZQotCQkgKiB3b3JrbG9hZCBpbiB0aGUgc3RhcnR1cCBwcm9jZXNzIGFuZCBiYWNrZW5kcy4g SW4gcHJhY3RpY2UgaXQgbWF5Ci0JCSAqIG5vdCBiZSBzbyBoYXJtZnVsIGJlY2F1c2UgdGhl IHBlcmlvZCB0aGF0IHRoZSBidWZmZXIgaXMga2VwdCBwaW5uZWQKLQkJICogaXMgYmFzaWNh bGx5IG5vIHNvIGxvbmcuIEJ1dCB3ZSBzaG91bGQgZml4IHRoaXM/CisJCSAqIFByb2NXYWl0 Rm9yU2lnbmFsKCkgY2FuIGFsc28gd2FrZSB1cCBmb3IgdW5yZWxhdGVkIHJlYXNvbnMsIHNv CisJCSAqIHJlY2hlY2sgdGhhdCB0aGUgYnVmZmVyIGlzIHBpbm5lZCBieSB0aGUgY3VycmVu dCB3YWl0ZXIgcHJvY2VzcworCQkgKiBvbmx5IChyZWZlcmVuY2UgY291bnRlciBzaG91bGQg YmUgMSkuIENvbnRpbnVlIHdhaXRpbmcsIGlmIG5vCisJCSAqIHJlZ2lzdGVyZWQgdGltZW91 dCBpcyBmaXJlZCBvciB0aGUgYnVmZmVyIGlzIHN0aWxsIHBpbm5lZCBieSBvdGhlcgorCQkg KiBwcm9jZXNzZXMgYXMgd2VsbC4KKwkJICovCisJCVByb2NXYWl0Rm9yU2lnbmFsKFdBSVRf RVZFTlRfQlVGRkVSX0NMRUFOVVApOworCisJCS8qCisJCSAqIE9uY2UgdGhlIHJlZmVyZW5j ZSBjb3VudCBpcyAxLCB0aGUgd2FpdGVyIHByb2Nlc3MgaXRzZWxmIGlzIHRoZQorCQkgKiBv bmx5IGJhY2tlbmQgcGlubmluZyB0aGUgYnVmZmVyIGF0IHRoZSBtb21lbnQuIFRoZXJlIGlz IGEgY2hhbmNlIHRvCisJCSAqIGxvY2sgdGhlIGJ1ZmZlciBleGNsdXNpdmVseS4KIAkJICov Ci0JCVNlbmRSZWNvdmVyeUNvbmZsaWN0V2l0aEJ1ZmZlclBpbihSRUNPVkVSWV9DT05GTElD VF9CVUZGRVJQSU5fREVBRExPQ0spOworCQlyZWZjb3VudCA9IEJ1ZmZlckdldFJlZkNvdW50 KGJ1ZmlkICsgMSk7CisJCUFzc2VydChyZWZjb3VudCA+IDApOworCisJCWlmIChyZWZjb3Vu dCA9PSAwKQorCQkJZWxvZyhFUlJPUiwKKwkJCQkgImJ1ZmZlciByZWZjb3VudCBkcm9wcGVk IHRvIHplcm8gd2hpbGUgd2FpdGluZyBmb3IgY2xlYW51cCBsb2NrIik7CisJCWlmIChyZWZj b3VudCA9PSAxKQorCQkJYnJlYWs7CisKKwkJaWYgKGdvdF9zdGFuZGJ5X2RlbGF5X3RpbWVv dXQpCisJCXsKKwkJCVNlbmRSZWNvdmVyeUNvbmZsaWN0V2l0aEJ1ZmZlclBpbihSRUNPVkVS WV9DT05GTElDVF9CVUZGRVJQSU4pOworCQkJYnJlYWs7CisJCX0KKwkJZWxzZSBpZiAoZ290 X3N0YW5kYnlfZGVhZGxvY2tfdGltZW91dCkKKwkJeworCQkJLyoKKwkJCSAqIFNlbmQgb3V0 IGEgcmVxdWVzdCBmb3IgaG90LXN0YW5kYnkgYmFja2VuZHMgdG8gY2hlY2sgdGhlbXNlbHZl cworCQkJICogZm9yIGRlYWRsb2Nrcy4KKwkJCSAqCisJCQkgKiBYWFggVGhlIHN1YnNlcXVl bnQgUmVzb2x2ZVJlY292ZXJ5Q29uZmxpY3RXaXRoQnVmZmVyUGluKCkgd2lsbAorCQkJICog d2FpdCB0byBiZSBzaWduYWxlZCBieSBVbnBpbkJ1ZmZlcigpIGFnYWluIGFuZCBzZW5kIGEg cmVxdWVzdAorCQkJICogZm9yIGRlYWRsb2NrcyBjaGVjayBpZiBkZWFkbG9ja190aW1lb3V0 IGhhcHBlbnMuIFRoaXMgY2F1c2VzCisJCQkgKiB0aGUgcmVxdWVzdCB0byBjb250aW51ZSB0 byBiZSBzZW50IGV2ZXJ5IGRlYWRsb2NrX3RpbWVvdXQgdW50aWwKKwkJCSAqIHRoZSBidWZm ZXIgaXMgdW5waW5uZWQgb3IgbHRpbWUgaXMgcmVhY2hlZC4gVGhpcyB3b3VsZCBpbmNyZWFz ZQorCQkJICogdGhlIHdvcmtsb2FkIGluIHRoZSBzdGFydHVwIHByb2Nlc3MgYW5kIGJhY2tl bmRzLiBJbiBwcmFjdGljZQorCQkJICogaXQgbWF5IG5vdCBiZSBzbyBoYXJtZnVsIGJlY2F1 c2UgdGhlIHBlcmlvZCB0aGF0IHRoZSBidWZmZXIgaXMKKwkJCSAqIGtlcHQgcGlubmVkIGlz IGJhc2ljYWxseSBubyBzbyBsb25nLiBCdXQgd2Ugc2hvdWxkIGZpeCB0aGlzPworCQkJICov CisJCQlTZW5kUmVjb3ZlcnlDb25mbGljdFdpdGhCdWZmZXJQaW4oUkVDT1ZFUllfQ09ORkxJ Q1RfQlVGRkVSUElOX0RFQURMT0NLKTsKKwkJCWJyZWFrOworCQl9CiAJfQogCiAJLyoKZGlm ZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3N0b3JhZ2UvYnVmbWdyLmggYi9zcmMvaW5jbHVkZS9z dG9yYWdlL2J1Zm1nci5oCmluZGV4IDY4MzdiMzVmYzZkLi5jMzhiNjIwYTNhMSAxMDA2NDQK LS0tIGEvc3JjL2luY2x1ZGUvc3RvcmFnZS9idWZtZ3IuaAorKysgYi9zcmMvaW5jbHVkZS9z dG9yYWdlL2J1Zm1nci5oCkBAIC0zMTEsNiArMzExLDcgQEAgZXh0ZXJuIHZvaWQgRHJvcERh dGFiYXNlQnVmZmVycyhPaWQgZGJpZCk7CiAKIGV4dGVybiBib29sIEJ1ZmZlcklzUGVybWFu ZW50KEJ1ZmZlciBidWZmZXIpOwogZXh0ZXJuIFhMb2dSZWNQdHIgQnVmZmVyR2V0TFNOQXRv bWljKEJ1ZmZlciBidWZmZXIpOworZXh0ZXJuIHVpbnQzMiBCdWZmZXJHZXRSZWZDb3VudChC dWZmZXIgYnVmZmVyKTsKIGV4dGVybiB2b2lkIEJ1ZmZlckdldFRhZyhCdWZmZXIgYnVmZmVy LCBSZWxGaWxlTG9jYXRvciAqcmxvY2F0b3IsCiAJCQkJCQkgRm9ya051bWJlciAqZm9ya251 bSwgQmxvY2tOdW1iZXIgKmJsa251bSk7CiAKLS0gCjIuNDMuMAoK --------------n4ZUDYtOJ96ofy0MGoQrGWXe Content-Type: text/x-patch; charset=UTF-8; name="v3-0002-Add-new-deadlock-conflict-test-in-031_recovery_confl.patch" Content-Disposition: attachment; filename*0="v3-0002-Add-new-deadlock-conflict-test-in-031_recovery_confl"; filename*1=".patch" Content-Transfer-Encoding: base64 RnJvbSBkZmRiOGUwZTM3ZWNiY2U1MTViYmZmNTJiZjc0MmU0N2UwZDA2M2E2IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBWaXRhbHkgRGF2eWRvdiA8di5kYXZ5ZG92QHBvc3Rn cmVzcHJvLnJ1PgpEYXRlOiBUdWUsIDkgSnVuIDIwMjYgMTg6MjM6MjggKzAzMDAKU3ViamVj dDogW1BBVENIIDIvMl0gQWRkIG5ldyBkZWFkbG9jayBjb25mbGljdCB0ZXN0IGluCiAwMzFf cmVjb3ZlcnlfY29uZmxpY3QucGwKCkl0IGNoZWNrcyB0aGF0IHRoZSBkZWFkbG9jayBkZXRl Y3RvciBpcyB0cmlnZ2VyZWQgb24gdGhlIGhvdCBzdGFuZGJ5J3MKY2xpZW50IGJhY2tlbmQg cHJvY2VzcyB3aGVuIGEgZGVhZGxvY2sgd2l0aCB0aGUgc3RhcnR1cCBwcm9jZXNzIG9jY3Vy cwppbiB0aGUgc2NlbmFyaW8gb2YgYW4gaW50ZXJmZXJlbmNlIG9mIGxvZ19zdGFydHVwX3By b2Nlc3NfaW50ZXJ2YWwgYW5kCmRlYWRsb2NrX3RpbWVvdXQgdGltZW91dHMuCgpBbiBpbmZp bml0ZSBkZWFkbG9jayBvY2N1cnMgYmV0d2VlbiB0aGUgc3RhbmRieSdzIHN0YXJ0dXAgcHJv Y2VzcyBhbmQgYQpiYWNrZW5kIHByb2Nlc3Mgd2hlbiBoYW5kbGluZyBhbiBYTE9HX1BSVU5F X1BBR0UgcmVjb3JkLiBUaGUgaXNzdWUgYXJpc2VzCmJlY2F1c2UgdGhlIHN0YXJ0dXAgcHJv Y2VzcyBmYWlscyB0byB0cmlnZ2VyIHRoZSBkZWFkbG9jayBkZXRlY3RvciBpbiB0aGUKY29u ZmxpY3RpbmcgYmFja2VuZC4KLS0tCiBzcmMvdGVzdC9yZWNvdmVyeS90LzAzMV9yZWNvdmVy eV9jb25mbGljdC5wbCB8IDEwMCArKysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdl ZCwgMTAwIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWNvdmVyeS90 LzAzMV9yZWNvdmVyeV9jb25mbGljdC5wbCBiL3NyYy90ZXN0L3JlY292ZXJ5L3QvMDMxX3Jl Y292ZXJ5X2NvbmZsaWN0LnBsCmluZGV4IDdhNzQwZjY5ODA2Li5jYWM3ODQ0M2QwYyAxMDA2 NDQKLS0tIGEvc3JjL3Rlc3QvcmVjb3ZlcnkvdC8wMzFfcmVjb3ZlcnlfY29uZmxpY3QucGwK KysrIGIvc3JjL3Rlc3QvcmVjb3ZlcnkvdC8wMzFfcmVjb3ZlcnlfY29uZmxpY3QucGwKQEAg LTMwNyw2ICszMDcsMTA2IEBAICRwc3FsX3N0YW5kYnktPnF1aXQ7CiAkbm9kZV9zdGFuZGJ5 LT5zdG9wKCk7CiAkbm9kZV9wcmltYXJ5LT5zdG9wKCk7CiAKKyMjIFJFQ09WRVJZIENPTkZM SUNUIDY6IFN0YXJ0dXAgYW5kIGJhY2tlbmQgaW5maW5pdGUgZGVhZGxvY2sgb24gaG90IHN0 YW5kYnkKKyMKKyMgQW4gaW5maW5pdGUgZGVhZGxvY2sgb2NjdXJzIGJldHdlZW4gdGhlIHN0 YW5kYnkncyBzdGFydHVwIHByb2Nlc3MgYW5kIGEKKyMgYmFja2VuZCBwcm9jZXNzIHdoZW4g aGFuZGxpbmcgYW4gWExPR19QUlVORV9QQUdFIHJlY29yZC4gVGhlIGlzc3VlIGFyaXNlcwor IyBiZWNhdXNlIHRoZSBzdGFydHVwIHByb2Nlc3MgZmFpbHMgdG8gdHJpZ2dlciB0aGUgZGVh ZGxvY2sgZGV0ZWN0b3IgaW4gdGhlCisjIGNvbmZsaWN0aW5nIGJhY2tlbmQuCisjCisjIFRo ZSByb290IGNhdXNlIGlzIGludGVyZmVyZW5jZSBiZXR3ZWVuIHR3byB0aW1lb3V0czogZGVh ZGxvY2tfdGltZW91dCBhbmQKKyMgbG9nX3N0YXJ0dXBfcHJvZ3Jlc3NfaW50ZXJ2YWwuIER1 ZSB0byB0aGlzIGludGVyZmVyZW5jZSwgdGhlCisjIGRlYWRsb2NrX3RpbWVvdXQgZXZlbnQg bmV2ZXIgZmlyZXMgZm9yIHRoZSBzdGFydHVwIHByb2Nlc3MuCisjCisjIFRoaXMgYmVoYXZp b3IgaXMgYSBzaWRlIGVmZmVjdCBvZiB0aGUgdGltZW91dCBvcHRpbWl6YXRpb24gbG9naWMg aW1wbGVtZW50ZWQKKyMgaW4gdGltZW91dC5jLiBXaGlsZSB0aGlzIG9wdGltaXphdGlvbiBp bXByb3ZlcyBwZXJmb3JtYW5jZSBieSBjb2FsZXNjaW5nCisjIHRpbWVyIGV2ZW50cywgaXQg aW50cm9kdWNlcyBhIHJlcXVpcmVtZW50IHRoYXQgYWxsIHRpbWVvdXQgaGFuZGxlcnMgbXVz dAorIyB2ZXJpZnkgaWYgdGhlaXIgc3BlY2lmaWMgdGltZW91dCB3YXMgaW5kZWVkIHRyaWdn ZXJlZCBiZWZvcmUgcHJvY2VlZGluZy4gSW4KKyMgdGhpcyBjYXNlLCB0aGUgaGFuZGxlciBy ZXNwb25zaWJsZSBmb3IgaW52b2tpbmcgdGhlIGRlYWRsb2NrIGRldGVjdG9yIGRvZXMKKyMg bm90IGNvcnJlY3RseSBhY2NvdW50IGZvciB0aGlzIGludGVyZmVyZW5jZSwgbGVhZGluZyB0 byB0aGUgZmFpbHVyZS4KKyMKKyMgRGlzY3Vzc2lvbjogaHR0cHM6Ly93d3cucG9zdGdyZXNx bC5vcmcvbWVzc2FnZS1pZC9mbGF0LzQ0YzI0ZGNmLTU3MTAtNDEwZi1iMWI2LWQxMGIzMTVm M2Q1MSU0MHBvc3RncmVzcHJvLnJ1CisjCisKKyR0ZXN0X2RiID0gJ3Bvc3RncmVzJzsKKyR0 YWJsZTEgPSAidGVzdF9zdGFydHVwX2JhY2tlbmRfZGVhZGxvY2tfdGFibGVfMSI7CiskdGFi bGUyID0gInRlc3Rfc3RhcnR1cF9iYWNrZW5kX2RlYWRsb2NrX3RhYmxlXzIiOworCiskbm9k ZV9wcmltYXJ5LT5hcHBlbmRfY29uZigncG9zdGdyZXNxbC5jb25mJywgcXFbCisJbWF4X3N0 YW5kYnlfc3RyZWFtaW5nX2RlbGF5ID0gLTEKKwlsb2dfc3RhcnR1cF9wcm9ncmVzc19pbnRl cnZhbCA9IDIwMDAKKwlkZWFkbG9ja190aW1lb3V0ID0gMzAwMAorCWF1dG92YWN1dW0gPSBv ZmYKK10pOworCiskbm9kZV9wcmltYXJ5LT5zdGFydCgpOworCiskbm9kZV9zdGFuZGJ5LT5h cHBlbmRfY29uZigncG9zdGdyZXNxbC5jb25mJywgcXFbCisJbWF4X3N0YW5kYnlfc3RyZWFt aW5nX2RlbGF5ID0gLTEKKwlsb2dfc3RhcnR1cF9wcm9ncmVzc19pbnRlcnZhbCA9IDIwMDAK KwlkZWFkbG9ja190aW1lb3V0ID0gMzAwMAorCWF1dG92YWN1dW0gPSBvZmYKK10pOworCisk bm9kZV9zdGFuZGJ5LT5zdGFydCgpOworCiskbG9nX2xvY2F0aW9uID0gLXMgJG5vZGVfc3Rh bmRieS0+bG9nZmlsZTsKKworJG5vZGVfcHJpbWFyeS0+c2FmZV9wc3FsKCdwb3N0Z3Jlcycs IHFxWworCUNSRUFURSBUQUJMRSAkdGFibGUxKGEgaW50LCBiIGludCk7CisJQ1JFQVRFIFRB QkxFICR0YWJsZTIoYSBpbnQsIGIgaW50KTsKKwlJTlNFUlQgSU5UTyAkdGFibGUxIFZBTFVF UyAoMSk7CitdKTsKKworIyBHZW5lcmF0ZSBhIGZldyBkZWFkIHJvd3MsIHRvIGxhdGVyIGJl IGNsZWFuZWQgdXAgYnkgdmFjdXVtLiBUaGVuIGFjcXVpcmUgYQorIyBsb2NrIG9uIGFub3Ro ZXIgcmVsYXRpb24gaW4gYSBwcmVwYXJlZCB4YWN0LCBzbyBpdCdzIGhlbGQgY29udGludW91 c2x5IGJ5CisjIHRoZSBzdGFydHVwIHByb2Nlc3MuIFRoZSBzdGFuZGJ5IHBzcWwgd2lsbCBi bG9jayBhY3F1aXJpbmcgdGhhdCBsb2NrIHdoaWxlCisjIGhvbGRpbmcgYSBwaW4gdGhhdCB2 YWN1dW0gbmVlZHMsIHRyaWdnZXJpbmcgdGhlIGRlYWRsb2NrLgorJG5vZGVfcHJpbWFyeS0+ c2FmZV9wc3FsKCR0ZXN0X2RiLCBxcVsKKwlCRUdJTjsKKwlJTlNFUlQgSU5UTyAkdGFibGUx KGEpIFNFTEVDVCBnZW5lcmF0ZV9zZXJpZXMoMSwgMTAwKSBpOworCVJPTExCQUNLOworXSk7 CisKKyRub2RlX3ByaW1hcnktPnNhZmVfcHNxbCgkdGVzdF9kYiwgcXFbCisJQkVHSU47CisJ TE9DSyBUQUJMRSAkdGFibGUyOworCVBSRVBBUkUgVFJBTlNBQ1RJT04gJ2xvY2snOworCUlO U0VSVCBJTlRPICR0YWJsZTEoYSkgVkFMVUVTICgxNzApOworCVNFTEVDVCB0eGlkX2N1cnJl bnQoKTsKK10pOworCiskbm9kZV9wcmltYXJ5LT53YWl0X2Zvcl9jYXRjaHVwKCRub2RlX3N0 YW5kYnksICdyZXBsYXknLCAkbm9kZV9wcmltYXJ5LT5sc24oJ3dyaXRlJykpOworCiskcHNx bF9zdGFuZGJ5ID0gJG5vZGVfc3RhbmRieS0+YmFja2dyb3VuZF9wc3FsKCR0ZXN0X2RiLCBv bl9lcnJvcl9zdG9wID0+IDApOworCiskcHNxbF9zdGFuZGJ5LT5xdWVyeV91bnRpbChxci9e MSQvbSwgcXFbCisJQkVHSU47CisJLS0gaG9sZCBwaW4KKwlERUNMQVJFIHRlc3RfcmVjb3Zl cnlfY29uZmxpY3RfY3Vyc29yIENVUlNPUiBGT1IgU0VMRUNUIGEgRlJPTSAkdGFibGUxOwor CUZFVENIIEZPUldBUkQgRlJPTSB0ZXN0X3JlY292ZXJ5X2NvbmZsaWN0X2N1cnNvcjsKKwkt LSB3YWl0IGZvciBsb2NrIGhlbGQgYnkgcHJlcGFyZWQgdHJhbnNhY3Rpb24KKwlTRUxFQ1Qg KiBGUk9NICR0YWJsZTI7CitdKTsKKworb2soMSwgImN1cnNvciBob2xkaW5nIGNvbmZsaWN0 aW5nIHBpbiwgYWxzbyB3YWl0aW5nIGZvciBsb2NrLCBlc3RhYmxpc2hlZCIpOworCisjIFZB Q1VVTSB3aWxsIHBydW5lIGF3YXkgcm93cywgY2F1c2luZyBhIGJ1ZmZlciBwaW4gY29uZmxp Y3QsIHdoaWxlIHN0YW5kYnkKKyMgcHNxbCBpcyB3YWl0aW5nIG9uIGxvY2suCiskbm9kZV9w cmltYXJ5LT5zYWZlX3BzcWwoJHRlc3RfZGIsIHFxW1ZBQ1VVTSAkdGFibGUxO10pOworCisj IFdhaXQgYW5kIGNoZWNrIHRoYXQgdGhlIGRlYWRsb2NrIGRldGVjdG9yIHdhcyB0cmlnZ2Vy ZWQgYW5kIGZvdW5kIGEgZGVhZGxvY2sKKyMgaW4gdGhlIGJhY2tlbmQgcHJvY2VzcyAobm90 IGluIHN0YXJ0dXAgcHJvY2VzcykuCitub3RlKCJXYWl0aW5nIGZvciBkZWFkbG9jayBkZXRl Y3RvciB0byBsYXVuY2guLi4iKTsKK2NoZWNrX2NvbmZsaWN0X2xvZygiVXNlciB0cmFuc2Fj dGlvbiBjYXVzZWQgYnVmZmVyIGRlYWRsb2NrIHdpdGggcmVjb3ZlcnkuIik7CisKKyMgY2xl YW4gdXAgZm9yIG5leHQgdGVzdHMKKyRub2RlX3ByaW1hcnktPnNhZmVfcHNxbCgkdGVzdF9k YiwgcXFbUk9MTEJBQ0sgUFJFUEFSRUQgJ2xvY2snO10pOworCiskcHNxbF9zdGFuZGJ5LT5x dWl0KCk7CisKKyRub2RlX3N0YW5kYnktPnN0b3AoKTsKKyRub2RlX3ByaW1hcnktPnN0b3Ao KTsKIAogZG9uZV90ZXN0aW5nKCk7CiAKLS0gCjIuNDMuMAoK --------------n4ZUDYtOJ96ofy0MGoQrGWXe--