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 1lxDMP-0004or-OY for pgsql-bugs@arkaria.postgresql.org; Sat, 26 Jun 2021 18:48:58 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1lxDMO-0007la-H0 for pgsql-bugs@arkaria.postgresql.org; Sat, 26 Jun 2021 18:48:56 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lxDMO-0007lS-74 for pgsql-bugs@lists.postgresql.org; Sat, 26 Jun 2021 18:48:56 +0000 Received: from mail.postgrespro.ru ([93.174.131.139]) by makus.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1lxDMJ-0000QM-Kk for pgsql-bugs@lists.postgresql.org; Sat, 26 Jun 2021 18:48:55 +0000 Received: from Andreys-MacBook-Pro.local (unknown [176.114.32.37]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mail.postgrespro.ru (Postfix) with ESMTPSA id 6191121CAF40 for ; Sat, 26 Jun 2021 21:48:48 +0300 (MSK) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mail; t=1624733328; bh=ZAD8pmMbsx1QGzsF6L1ZlD/RhGBb8Hzt/0/P3TBuB6s=; h=To:From:Subject:Date; b=gGHIE9HbIlLedvKLs08ZQ1YZMIxCGL5iRXeFCzNVe9jgpQjycPeUFWQbSz1gt+taN MEQweE+SCSBIKz/V6lJKNoHbHLHFiQNGxtQJTSHMCajng4MzfBtlYpBxzd9iQjSnIa 0hB8zGH7yD77qK5CGc4yM4EPiqPkoHKzJ+mKu7fo= To: pgsql-bugs@lists.postgresql.org From: Andrey Lepikhov Subject: Assertion on create index concurrently Organization: Postgres Professional Message-ID: <9b905019-5297-7372-0ad2-e1a4bb66a719@postgrespro.ru> Date: Sat, 26 Jun 2021 21:48:45 +0300 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------28DDFDD334A540B75EBE1289" Content-Language: en-US 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. --------------28DDFDD334A540B75EBE1289 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit I found one annoying assertion in the CREATE INDEX CONCURRENTLY operation. It will happen if you add into WHERE part of CREATE INDEX CONCURRENTLY some function that will make transactional update (see an example in the attached patch). It looks like a hack, but it lead to assertion and restart of the instance, that isn't good. I suggest to perform error, not assertion in this case (see the patch). This problem affects PG 9.6 - 13. The master branch was fixed 9 months ago by commit 83158f7, that made this operation transactional, but still. -- regards, Andrey Lepikhov Postgres Professional --------------28DDFDD334A540B75EBE1289 Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="0001-Use-more-safe-procedure-to-check-a-non-transactional.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0001-Use-more-safe-procedure-to-check-a-non-transactional.pa"; filename*1="tch" RnJvbSAyZDY1OGViOTgzMGM3OGU4NzViMDhkYWE4NmM2MDhkNWYzMjdiMWYzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV5IFYuIExlcGlraG92IiA8YS5sZXBpa2hv dkBwb3N0Z3Jlc3Byby5ydT4KRGF0ZTogU2F0LCAyNiBKdW4gMjAyMSAxOTo1NDoyNSArMDMw MApTdWJqZWN0OiBbUEFUQ0hdIFVzZSBtb3JlIHNhZmUgcHJvY2VkdXJlIHRvIGNoZWNrIGEg bm9uLXRyYW5zYWN0aW9uYWwKIENPTkNVUlJFTlQgb3BlcmF0aW9uIG9uIHRyYW5zYWN0aW9u YWwgdXBkYXRlcy4KCi0tLQogc3JjL2JhY2tlbmQvY2F0YWxvZy9pbmRleC5jICAgICAgICAg ICAgICAgIHwgIDggKysrKysrLS0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY3JlYXRl X2luZGV4Lm91dCB8IDE3ICsrKysrKysrKysrKysrKysrCiBzcmMvdGVzdC9yZWdyZXNzL3Nx bC9jcmVhdGVfaW5kZXguc3FsICAgICAgfCAxMyArKysrKysrKysrKysrCiAzIGZpbGVzIGNo YW5nZWQsIDM2IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvY2F0YWxvZy9pbmRleC5jIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9pbmRl eC5jCmluZGV4IGI5ZWVkOGVjMzguLmNhOTFhN2M3NGYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNr ZW5kL2NhdGFsb2cvaW5kZXguYworKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL2luZGV4LmMK QEAgLTMzOTUsOCArMzM5NSwxMiBAQCBpbmRleF9zZXRfc3RhdGVfZmxhZ3MoT2lkIGluZGV4 SWQsIEluZGV4U3RhdGVGbGFnc0FjdGlvbiBhY3Rpb24pCiAJSGVhcFR1cGxlCWluZGV4VHVw bGU7CiAJRm9ybV9wZ19pbmRleCBpbmRleEZvcm07CiAKLQkvKiBBc3NlcnQgdGhhdCBjdXJy ZW50IHhhY3QgaGFzbid0IGRvbmUgYW55IHRyYW5zYWN0aW9uYWwgdXBkYXRlcyAqLwotCUFz c2VydChHZXRUb3BUcmFuc2FjdGlvbklkSWZBbnkoKSA9PSBJbnZhbGlkVHJhbnNhY3Rpb25J ZCk7CisJLyogQ2hlY2sgdGhhdCBjdXJyZW50IHhhY3QgaGFzbid0IGRvbmUgYW55IHRyYW5z YWN0aW9uYWwgdXBkYXRlcyAqLworCWlmIChHZXRUb3BUcmFuc2FjdGlvbklkSWZBbnkoKSAh PSBJbnZhbGlkVHJhbnNhY3Rpb25JZCkKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29k ZShFUlJDT0RFX0FDVElWRV9TUUxfVFJBTlNBQ1RJT04pLAorCQkJCSBlcnJtc2coIlNvbWUg dHJhbnNhY3Rpb25hbCB1cGRhdGVzIHdlcmUgbWFkZSBkdXJpbmcgYSBjb25jdXJyZW50IGlu ZGV4IG9wZXJhdGlvbiIpKSk7CisKIAogCS8qIE9wZW4gcGdfaW5kZXggYW5kIGZldGNoIGEg d3JpdGFibGUgY29weSBvZiB0aGUgaW5kZXgncyB0dXBsZSAqLwogCXBnX2luZGV4ID0gdGFi bGVfb3BlbihJbmRleFJlbGF0aW9uSWQsIFJvd0V4Y2x1c2l2ZUxvY2spOwpkaWZmIC0tZ2l0 IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9jcmVhdGVfaW5kZXgub3V0IGIvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9jcmVhdGVfaW5kZXgub3V0CmluZGV4IDhlMTFjMDg5YjEu LjkzMTAzMzM0ZDggMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY3Jl YXRlX2luZGV4Lm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2NyZWF0ZV9p bmRleC5vdXQKQEAgLTEzOTMsNiArMTM5MywyMyBAQCBCRUdJTjsKIENSRUFURSBJTkRFWCBD T05DVVJSRU5UTFkgY29uY3VyX2luZGV4NyBPTiBjb25jdXJfaGVhcChmMSk7CiBFUlJPUjog IENSRUFURSBJTkRFWCBDT05DVVJSRU5UTFkgY2Fubm90IHJ1biBpbnNpZGUgYSB0cmFuc2Fj dGlvbiBibG9jawogQ09NTUlUOworQ1JFQVRFIEZVTkNUSU9OIHByZWRpY2F0ZSgpIFJFVFVS TlMgYm9vbCBJTU1VVEFCTEUgTEFOR1VBR0UgcGxwZ3NxbCBBUyAkJAorQkVHSU4KKwlFWEVD VVRFICdTRUxFQ1QgdHhpZF9jdXJyZW50KCknOworCVJFVFVSTiB0cnVlOworRU5EOyAkJDsK Ky0tIFlvdSBjYW4ndCBkbyBhbnkgdHJhbnNhY3Rpb25hbCB1cGRhdGVzIGR1cmluZyBjb25j dXJyZW50IGluZGV4IGJ1aWxkLgorQ1JFQVRFIElOREVYIENPTkNVUlJFTlRMWSBjb25jdXJf aW5kZXg4IE9OIGNvbmN1cl9oZWFwIChmMSkgV0hFUkUgcHJlZGljYXRlKCk7CitFUlJPUjog IFNvbWUgdHJhbnNhY3Rpb25hbCB1cGRhdGVzIHdlcmUgbWFkZSBkdXJpbmcgYSBjb25jdXJy ZW50IGluZGV4IG9wZXJhdGlvbgorLS0gSW5kZXggZXhpc3RzIGJ1dCBpbnZhbGlkLiBJdCBt dXN0IGJlIGFjdHVhbGl6ZWQgYWZ0ZXIgUkVJTkRFWCBUQUJMRSBjb21tYW5kLgorU0VMRUNU IHJlbG5hbWUsaW5kaXN2YWxpZCBGUk9NIHBnX2NsYXNzLCBwZ19pbmRleAorCVdIRVJFIHJl bG5hbWUgPSAnY29uY3VyX2luZGV4OCcgQU5EIG9pZCA9IGluZGV4cmVsaWQ7CisgICAgcmVs bmFtZSAgICB8IGluZGlzdmFsaWQgCistLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisg Y29uY3VyX2luZGV4OCB8IGYKKygxIHJvdykKKworRFJPUCBJTkRFWCBjb25jdXJfaW5kZXg4 OwogLS0gQnV0IHlvdSBjYW4gZG8gYSByZWd1bGFyIGluZGV4IGJ1aWxkIGluIGEgdHJhbnNh Y3Rpb24KIEJFR0lOOwogQ1JFQVRFIElOREVYIHN0ZF9pbmRleCBvbiBjb25jdXJfaGVhcChm Mik7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9jcmVhdGVfaW5kZXguc3Fs IGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvY3JlYXRlX2luZGV4LnNxbAppbmRleCBjMDM5MmYw NTJkLi43MTc3OWUzZGNlIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9jcmVh dGVfaW5kZXguc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NyZWF0ZV9pbmRleC5z cWwKQEAgLTQ4Nyw2ICs0ODcsMTkgQEAgQkVHSU47CiBDUkVBVEUgSU5ERVggQ09OQ1VSUkVO VExZIGNvbmN1cl9pbmRleDcgT04gY29uY3VyX2hlYXAoZjEpOwogQ09NTUlUOwogCitDUkVB VEUgRlVOQ1RJT04gcHJlZGljYXRlKCkgUkVUVVJOUyBib29sIElNTVVUQUJMRSBMQU5HVUFH RSBwbHBnc3FsIEFTICQkCitCRUdJTgorCUVYRUNVVEUgJ1NFTEVDVCB0eGlkX2N1cnJlbnQo KSc7CisJUkVUVVJOIHRydWU7CitFTkQ7ICQkOworCistLSBZb3UgY2FuJ3QgZG8gYW55IHRy YW5zYWN0aW9uYWwgdXBkYXRlcyBkdXJpbmcgY29uY3VycmVudCBpbmRleCBidWlsZC4KK0NS RUFURSBJTkRFWCBDT05DVVJSRU5UTFkgY29uY3VyX2luZGV4OCBPTiBjb25jdXJfaGVhcCAo ZjEpIFdIRVJFIHByZWRpY2F0ZSgpOworLS0gSW5kZXggZXhpc3RzIGJ1dCBpbnZhbGlkLiBJ dCBtdXN0IGJlIGFjdHVhbGl6ZWQgYWZ0ZXIgUkVJTkRFWCBUQUJMRSBjb21tYW5kLgorU0VM RUNUIHJlbG5hbWUsaW5kaXN2YWxpZCBGUk9NIHBnX2NsYXNzLCBwZ19pbmRleAorCVdIRVJF IHJlbG5hbWUgPSAnY29uY3VyX2luZGV4OCcgQU5EIG9pZCA9IGluZGV4cmVsaWQ7CitEUk9Q IElOREVYIGNvbmN1cl9pbmRleDg7CisKIC0tIEJ1dCB5b3UgY2FuIGRvIGEgcmVndWxhciBp bmRleCBidWlsZCBpbiBhIHRyYW5zYWN0aW9uCiBCRUdJTjsKIENSRUFURSBJTkRFWCBzdGRf aW5kZXggb24gY29uY3VyX2hlYXAoZjIpOwotLSAKMi4zMS4xCgo= --------------28DDFDD334A540B75EBE1289--