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 1qMlzf-003FWH-0B for pgsql-bugs@arkaria.postgresql.org; Fri, 21 Jul 2023 09:00:10 +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 1qMlzd-00Fdd9-GG for pgsql-bugs@arkaria.postgresql.org; Fri, 21 Jul 2023 09:00:09 +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 1qMlzd-00Fdd1-8G for pgsql-bugs@lists.postgresql.org; Fri, 21 Jul 2023 09:00:09 +0000 Received: from mail-lj1-x22b.google.com ([2a00:1450:4864:20::22b]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1qMlza-000et1-4j for pgsql-bugs@lists.postgresql.org; Fri, 21 Jul 2023 09:00:08 +0000 Received: by mail-lj1-x22b.google.com with SMTP id 38308e7fff4ca-2b9338e4695so25197841fa.2 for ; Fri, 21 Jul 2023 02:00:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1689930004; x=1690534804; h=in-reply-to:from:references:cc:to:content-language:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=4prjFgGFnXFLYw032HS0+yA7uHlsd/0tO008JMQrK90=; b=c99BR41aMM9NgVVR/1PMEKHSNPcoQZijDvVD5VnhN6nzFS9zyQ3IRNFtkB/uhk+eaj z0GF6l5a97aLuDYpcfiKnfMAScnjkAi6UYaXZ7fDN82KvcweP+6k/KuUNurKg3mHVwHR q+FlP8xY1s5O7gOOjsR8vDUb0T2IXbLQP8tSa+0F5XFQw0ogRnwMJqI0mRFLy4PD9w40 Uq8WLqhZDlAxzMq7zDQAv3t8xpUvPkuo14wm8ZjR5idPRZrLlEV0XqI8ZUovPUvLdrxy VkarFNhOhlztjyzbfd4pgtVni2UUrbxSNfUGL8YBwiS+COrdNLohBAoV9YD/WTzXfmIi pfvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1689930004; x=1690534804; h=in-reply-to:from:references:cc:to:content-language:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=4prjFgGFnXFLYw032HS0+yA7uHlsd/0tO008JMQrK90=; b=lHfdoXlvmX/DrjPpJFLABntzcdQ8ErcYeQ/ZuMC1a0FtLmG+cT98vJqqib6nBG8C96 LBGDCwskgoVvvTj7NuhpM/xqHQYWjT6/k9cTH4ziqJIuYuPuPoYvCd1/EL8ZCShmOQ8J KQSS6dqA7j/qLV5RHcLKwRfigk1NNA4qzhx6w/xvk2X5056X8l+pbv6LqLRu/vYyQTbO oB1Ah9O41AzuSZQ5azitKcgHSqLLKmk8kEuEizAXmUj8pA7NKoPsDQuOZHgAqAwDYgM/ eJRlbuVxpkX3rfaiDqZJcb9q92FPi81Z4csaW6ZRBrSr4y7wXQNv1uHtaOEFU5gyLUU7 hn4Q== X-Gm-Message-State: ABy/qLaMdASlToaf5H4lzOg2hg6QST2GJcsgCqeNqFXsvIwYPta5jsLH E2QWvApgUmLgHlRP4UX9cDQ= X-Google-Smtp-Source: APBJJlFGUMilKvRmJ7x5jD9iOAU2TiiDtX6Hu1sbLIn9GYAxEibX/f5Sq8sj/SF85v627RAR8hmNCg== X-Received: by 2002:a2e:7404:0:b0:2b6:cd6a:17f7 with SMTP id p4-20020a2e7404000000b002b6cd6a17f7mr1104972ljc.20.1689930004129; Fri, 21 Jul 2023 02:00:04 -0700 (PDT) Received: from [1.0.0.7] ([178.155.25.194]) by smtp.gmail.com with ESMTPSA id z11-20020a2e9b8b000000b002b697f98b93sm799398lji.84.2023.07.21.02.00.02 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 21 Jul 2023 02:00:02 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------bLuz8awR8h0XcGGgQRHM5JcV" Message-ID: <1a2d5aba-df29-ab8d-65ac-6ffd54d1ac62@gmail.com> Date: Fri, 21 Jul 2023 12:00:01 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Subject: Re: BUG #18014: Releasing catcache entries makes schema_to_xmlschema() fail when parallel workers are used Content-Language: en-US To: Kyotaro Horiguchi Cc: pgsql-bugs@lists.postgresql.org References: <20230720.162802.905550494964943231.horikyota.ntt@gmail.com> <20230720.164459.2183367718473165651.horikyota.ntt@gmail.com> <20230720.172924.535889842187000361.horikyota.ntt@gmail.com> From: Alexander Lakhin In-Reply-To: <20230720.172924.535889842187000361.horikyota.ntt@gmail.com> 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. --------------bLuz8awR8h0XcGGgQRHM5JcV Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hello Horiguchi-san, 20.07.2023 11:29, Kyotaro Horiguchi wrote: > At Thu, 20 Jul 2023 16:44:59 +0900 (JST), Kyotaro Horiguchi wrote in >> Stupid. What we should do here would be ensuring the funtion doesn't >> invoke parallel workers, maybe. > So, for testing, I didn't see the error with applying the attached patch. > There are other SPI calls but I didn't see them at all. > Thank you for looking into it! I think that we need to determine the level where the problem that should be fixed is: 1) test xmlmap fails sporadically due to the catalog changes caused by  parallel tests activity 2) schema_to_xmlschemaX() can fail when parallel workers are used 3) has_table_privilegeX() can fail sporadically when executed within a  parallel worker 4) SearchSysCacheX(RELOID, ...) can switch to a newer catalog snapshot,  when repeated in a parallel worker The patch proposed fixes the issue on level 2, but that error still can be seen on level 3. For example, you can replace SELECT schema_to_xmlschema('testxmlschema_$c', true, false, ''); in the above script with SELECT oid FROM pg_catalog.pg_class WHERE relnamespace = 1 AND relkind IN ('r', 'm', 'v') AND pg_catalog.has_table_privilege (oid, 'SELECT'); Probably, similar errors can also occur with "SELECT * FROM information_schema.tables" or with other information_schema views, that call has_table_privilege(). But if it's okey to have sporadic errors on lower levels, then may be just fix the issue on level 1. Please look at the patch attached, that makes schema_get_xml_visible_tables(Oid nspid) isolated from changes in other namespaces. Best regards, Alexander --------------bLuz8awR8h0XcGGgQRHM5JcV Content-Type: text/x-patch; charset=UTF-8; name="isolate-schema_get_xml_visible_tables.patch" Content-Disposition: attachment; filename="isolate-schema_get_xml_visible_tables.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC94bWwuYyBiL3NyYy9iYWNrZW5k L3V0aWxzL2FkdC94bWwuYwppbmRleCA4NjZkMGQ2NDlhLi41YjYyOTFjNmM5IDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQveG1sLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRp bHMvYWR0L3htbC5jCkBAIC0yNzIzLDEyICsyNzIzLDEzIEBAIHNjaGVtYV9nZXRfeG1sX3Zp c2libGVfdGFibGVzKE9pZCBuc3BpZCkKIAlTdHJpbmdJbmZvRGF0YSBxdWVyeTsKIAogCWlu aXRTdHJpbmdJbmZvKCZxdWVyeSk7Ci0JYXBwZW5kU3RyaW5nSW5mbygmcXVlcnksICJTRUxF Q1Qgb2lkIEZST00gcGdfY2F0YWxvZy5wZ19jbGFzcyIKKwlhcHBlbmRTdHJpbmdJbmZvKCZx dWVyeSwgIlNFTEVDVCBvaWQgRlJPTSAiCisJCQkJCSAiIChTRUxFQ1Qgb2lkLCByZWxuYW1l IEZST00gcGdfY2F0YWxvZy5wZ19jbGFzcyIKIAkJCQkJICIgV0hFUkUgcmVsbmFtZXNwYWNl ID0gJXUgQU5EIHJlbGtpbmQgSU4gKCIKIAkJCQkJIENwcEFzU3RyaW5nMihSRUxLSU5EX1JF TEFUSU9OKSAiLCIKIAkJCQkJIENwcEFzU3RyaW5nMihSRUxLSU5EX01BVFZJRVcpICIsIgot CQkJCQkgQ3BwQXNTdHJpbmcyKFJFTEtJTkRfVklFVykgIikiCi0JCQkJCSAiIEFORCBwZ19j YXRhbG9nLmhhc190YWJsZV9wcml2aWxlZ2UgKG9pZCwgJ1NFTEVDVCcpIgorCQkJCQkgQ3Bw QXNTdHJpbmcyKFJFTEtJTkRfVklFVykgIikgT0ZGU0VUIDApIGMiCisJCQkJCSAiIFdIRVJF IHBnX2NhdGFsb2cuaGFzX3RhYmxlX3ByaXZpbGVnZSAob2lkLCAnU0VMRUNUJykiCiAJCQkJ CSAiIE9SREVSIEJZIHJlbG5hbWU7IiwgbnNwaWQpOwogCiAJcmV0dXJuIHF1ZXJ5X3RvX29p ZF9saXN0KHF1ZXJ5LmRhdGEpOwo= --------------bLuz8awR8h0XcGGgQRHM5JcV--