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 1psJrl-00025O-U1 for pgsql-hackers@arkaria.postgresql.org; Fri, 28 Apr 2023 08:54:10 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1psJrk-0000ZZ-Pv for pgsql-hackers@arkaria.postgresql.org; Fri, 28 Apr 2023 08:54:08 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1psJrk-0000ZQ-Ex for pgsql-hackers@lists.postgresql.org; Fri, 28 Apr 2023 08:54:08 +0000 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1psJrh-005Y6q-74 for pgsql-hackers@lists.postgresql.org; Fri, 28 Apr 2023 08:54:07 +0000 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-3f18335a870so62756025e9.0 for ; Fri, 28 Apr 2023 01:54:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682672043; x=1685264043; h=in-reply-to:from:content-language:references:cc:to:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=jM9VLtmnyTe5y9Au1fGmCZHmYq0bttUQIpIliFiLywc=; b=JCMZeY5JtOO9xP+nMTxvNsaYb0imDTJsEgOy4253hSaQLsC364Ub6Grs2V7LI/hDKs zBolT25a47pfKVO7gXU6K0tQ9CDf82cwPdzSAgnwEwAMViSHhPPow+H8Sx2VGAUJzkp3 pX9oBFZKvHPYzGlb2Wtvg5OVjWu0DAx3idCHn2mSp/Z+YxQOjc6+PA2gnuFExpeohNMI SIkyvL6QdgSrvhIzbMuWucX5zVHPm/7t7DHQKs4/9wKkeGUwUaGSACSOLRdoWQpCY3IK VF7FgfB1TxqJdNd7i2v4MtH8eS1gzhAdcW6D5G1c8z6DugLyIZTcEyHENqnN39G7HVxU Dc6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682672043; x=1685264043; h=in-reply-to:from:content-language:references:cc:to:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=jM9VLtmnyTe5y9Au1fGmCZHmYq0bttUQIpIliFiLywc=; b=XN3MJIc6rv3s46QZ08u3rPx3qQm1jDGVDugKg245YDKA9GZ+WBu094HsqdrD8y1Vzn A6XB4PCsfIxSGMpg6nYHkgBK35G/FjLWenXhhtCt7Hc7+/a4Kr3zumR4zzLWc0qw6MH4 LgQFRw9/3vK8Y/cmeKm50UrjZpuoTeA/tTkDG1orejaE8XEiBzjzVi8fLzhuDh6o6XZi KHwBERQNRrmqTsGB+is7Z1YBbC6nZrszHTwOCfsEbSm5Muxir9lgKrC8lNuXHkpmGl5x y1dHuSLBBYAT8MkV4ihXdy+fYWKg2LUHFCu75HZMmno3TMwTJJvh9m8oFzUwxyg+np9A wR/Q== X-Gm-Message-State: AC+VfDz/EemJVEREBw6uci1ya4p5QS2QSGqwVQxGdLF00kJSwCadPP88 DOBTOpz9Si4flSFhi+fLnh4= X-Google-Smtp-Source: ACHHUZ7nYqA6ZGKu11gija17VMjbiGAkE/na1AJ6vWHIwkuprLDkJpudqx7/ljRjXTLdHh9dk9a3Hw== X-Received: by 2002:a7b:ce07:0:b0:3f1:70e6:df66 with SMTP id m7-20020a7bce07000000b003f170e6df66mr3499421wmc.36.1682672042709; Fri, 28 Apr 2023 01:54:02 -0700 (PDT) Received: from [192.168.31.114] ([54.239.6.186]) by smtp.gmail.com with ESMTPSA id p6-20020adfe606000000b002ff1751ec79sm20507977wrm.65.2023.04.28.01.54.01 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 28 Apr 2023 01:54:01 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------iybOSqol8700jeuLMbxLtLYk" Message-ID: <054defef-de15-53e4-6c5a-d16ccc21d4ba@gmail.com> Date: Fri, 28 Apr 2023 10:54:00 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.10.1 Subject: Re: Add two missing tests in 035_standby_logical_decoding.pl To: Amit Kapila Cc: "Yu Shi (Fujitsu)" , vignesh C , PostgreSQL Hackers References: <2fefa454-5a70-2174-ddbf-4a0e41537139@gmail.com> <9ab1827c-9a57-8c48-59b2-c5fb62c21be3@gmail.com> <74f80bc1-6b39-b2a8-c716-98beefb75e0b@gmail.com> <17b6b056-4f53-c444-0c94-869547d1a5df@gmail.com> Content-Language: en-US From: "Drouvot, Bertrand" In-Reply-To: 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. --------------iybOSqol8700jeuLMbxLtLYk Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hi, On 4/28/23 5:55 AM, Amit Kapila wrote: > On Wed, Apr 26, 2023 at 7:53 PM Drouvot, Bertrand > wrote: > > +# Get the restart_lsn from an invalidated slot > +my $restart_lsn = $node_standby->safe_psql('postgres', > + "SELECT restart_lsn from pg_replication_slots WHERE slot_name = > 'vacuum_full_activeslot' and conflicting is true;" > +); > + > +chomp($restart_lsn); > + > +# Get the WAL file name associated to this lsn on the primary > +my $walfile_name = $node_primary->safe_psql('postgres', > + "SELECT pg_walfile_name('$restart_lsn')"); > + > +chomp($walfile_name); > + > +# Check the WAL file is still on the primary > +ok(-f $node_primary->data_dir . '/pg_wal/' . $walfile_name, > + "WAL file still on the primary"); > > How is it guaranteed that the WAL file corresponding to the > invalidated slot on standby will still be present on primary? The slot(s) have been invalidated by the "vacuum full" test just above this one. So I think the WAL we are looking for is the last one being used by the primary. As no activity happened on it since the vacuum full it looks to me that it should still be present. But I may have missed something and maybe that's not guarantee that this WAL is still there in all the cases. In that case I think it's better to remove this test (it does not provide added value here). Test removed in V7 attached. > Can you > please explain the logic behind this test a bit more like how the WAL > file switch helps you to achieve the purpose? > The idea was to generate enough "wal switch" on the primary to ensure the WAL file has been removed. I gave another thought on it and I think we can skip the test that the WAL is not on the primary any more. That way, one "wal switch" seems to be enough to see it removed on the standby. It's done in V7. V7 is not doing "extra tests" than necessary and I think it's probably better like this. I can see V7 failing on "Cirrus CI / macOS - Ventura - Meson" only (other machines are not complaining). It does fail on "invalidated logical slots do not lead to retaining WAL", see https://cirrus-ci.com/task/4518083541336064 I'm not sure why it is failing, any idea? Regards, -- Bertrand Drouvot PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com --------------iybOSqol8700jeuLMbxLtLYk Content-Type: text/plain; charset=UTF-8; name="v7-0001-Add-a-test-to-verify-that-invalidated-logical-slo.patch" Content-Disposition: attachment; filename*0="v7-0001-Add-a-test-to-verify-that-invalidated-logical-slo.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSAyYWIwODIxNDQxNTAyMzUwNTI0NGM5NTRhNmE1ZWJmNDJlYzlhZWJiIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBCZXJ0cmFuZCBEcm91dm90IDxiZXJ0cmFuZGRyb3V2 b3QucGdAZ21haWwuY29tPgpEYXRlOiBGcmksIDI4IEFwciAyMDIzIDA3OjI3OjIwICswMDAw ClN1YmplY3Q6IFtQQVRDSCB2N10gQWRkIGEgdGVzdCB0byB2ZXJpZnkgdGhhdCBpbnZhbGlk YXRlZCBsb2dpY2FsIHNsb3RzIGRvIG5vdAogbGVhZCB0byByZXRhaW5pbmcgV0FMLgoKLS0t CiAuLi4vdC8wMzVfc3RhbmRieV9sb2dpY2FsX2RlY29kaW5nLnBsICAgICAgICAgfCAzOSAr KysrKysrKysrKysrKysrKystCiAxIGZpbGUgY2hhbmdlZCwgMzcgaW5zZXJ0aW9ucygrKSwg MiBkZWxldGlvbnMoLSkKIDEwMC4wJSBzcmMvdGVzdC9yZWNvdmVyeS90LwoKZGlmZiAtLWdp dCBhL3NyYy90ZXN0L3JlY292ZXJ5L3QvMDM1X3N0YW5kYnlfbG9naWNhbF9kZWNvZGluZy5w bCBiL3NyYy90ZXN0L3JlY292ZXJ5L3QvMDM1X3N0YW5kYnlfbG9naWNhbF9kZWNvZGluZy5w bAppbmRleCA2NmQyNjRmMjMwLi5iMzJjMTAwMmIwIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9y ZWNvdmVyeS90LzAzNV9zdGFuZGJ5X2xvZ2ljYWxfZGVjb2RpbmcucGwKKysrIGIvc3JjL3Rl c3QvcmVjb3ZlcnkvdC8wMzVfc3RhbmRieV9sb2dpY2FsX2RlY29kaW5nLnBsCkBAIC01MDAs OSArNTAwLDQ0IEBAICRub2RlX3N0YW5kYnktPnJlc3RhcnQ7CiBjaGVja19zbG90c19jb25m bGljdGluZ19zdGF0dXMoMSk7CiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjCi0jIFZlcmlmeSB0aGF0IGludmFsaWRhdGVkIGxvZ2ljYWwg c2xvdHMgZG8gbm90IGxlYWQgdG8gcmV0YWluaW5nIFdBTAorIyBWZXJpZnkgdGhhdCBpbnZh bGlkYXRlZCBsb2dpY2FsIHNsb3RzIGRvIG5vdCBsZWFkIHRvIHJldGFpbmluZyBXQUwuCiAj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyBY WFhYWCBUT0RPCisKKyMgQmVmb3JlIHJlbW92aW5nIFdBTCBmaWxlKHMpLCBlbnN1cmUgdGhl IGNhc2NhZGluZyBzdGFuZGJ5IGNhdGNoIHVwCiskbm9kZV9zdGFuZGJ5LT53YWl0X2Zvcl9y ZXBsYXlfY2F0Y2h1cCgkbm9kZV9jYXNjYWRpbmdfc3RhbmRieSwKKwkkbm9kZV9wcmltYXJ5 KTsKKworIyBHZXQgdGhlIHJlc3RhcnRfbHNuIGZyb20gYW4gaW52YWxpZGF0ZWQgc2xvdAor bXkgJHJlc3RhcnRfbHNuID0gJG5vZGVfc3RhbmRieS0+c2FmZV9wc3FsKCdwb3N0Z3Jlcycs CisJIlNFTEVDVCByZXN0YXJ0X2xzbiBmcm9tIHBnX3JlcGxpY2F0aW9uX3Nsb3RzIFdIRVJF IHNsb3RfbmFtZSA9ICd2YWN1dW1fZnVsbF9hY3RpdmVzbG90JyBhbmQgY29uZmxpY3Rpbmcg aXMgdHJ1ZTsiCispOworCitjaG9tcCgkcmVzdGFydF9sc24pOworCisjIEFzIHBnX3dhbGZp bGVfbmFtZSgpIGNhbiBub3QgYmUgZXhlY3V0ZWQgb24gdGhlIHN0YW5kYnksCisjIGdldCB0 aGUgV0FMIGZpbGUgbmFtZSBhc3NvY2lhdGVkIHRvIHRoaXMgbHNuIGZyb20gdGhlIHByaW1h cnkKK215ICR3YWxmaWxlX25hbWUgPSAkbm9kZV9wcmltYXJ5LT5zYWZlX3BzcWwoJ3Bvc3Rn cmVzJywKKwkiU0VMRUNUIHBnX3dhbGZpbGVfbmFtZSgnJHJlc3RhcnRfbHNuJykiKTsKKwor Y2hvbXAoJHdhbGZpbGVfbmFtZSk7CisKKyMgR2VuZXJhdGUgc29tZSBhY3Rpdml0eSBhbmQg c3dpdGNoIFdBTCBmaWxlIG9uIHRoZSBwcmltYXJ5Ciskbm9kZV9wcmltYXJ5LT5zYWZlX3Bz cWwoCisJJ3Bvc3RncmVzJywgImNyZWF0ZSB0YWJsZSByZXRhaW5fdGVzdChhIGludCk7CisJ CQkJCQkJCQkgaW5zZXJ0IGludG8gcmV0YWluX3Rlc3QgdmFsdWVzKDEpOworCQkJCQkJCQkJ IHNlbGVjdCBwZ19zd2l0Y2hfd2FsKCk7CisJCQkJCQkJCQkgY2hlY2twb2ludDsiKTsKKwor IyBXYWl0IGZvciB0aGUgc3RhbmRieSB0byBjYXRjaCB1cAorJG5vZGVfcHJpbWFyeS0+d2Fp dF9mb3JfY2F0Y2h1cCgkbm9kZV9zdGFuZGJ5KTsKKworIyBSZXF1ZXN0IGEgY2hlY2twb2lu dCBvbiB0aGUgc3RhbmRieSB0byB0cmlnZ2VyIHRoZSBXQUwgZmlsZShzKSByZW1vdmFsCisk bm9kZV9zdGFuZGJ5LT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgJ2NoZWNrcG9pbnQ7Jyk7CisK KyMgVmVyaWZ5IHRoYXQgdGhlIHdhbCBmaWxlIGhhcyBub3QgYmVlbiByZXRhaW5lZCBvbiB0 aGUgc3RhbmRieQorbXkgJHN0YW5kYnlfd2FsZmlsZSA9ICRub2RlX3N0YW5kYnktPmRhdGFf ZGlyIC4gJy9wZ193YWwvJyAuICR3YWxmaWxlX25hbWU7CitvayghLWYgIiRzdGFuZGJ5X3dh bGZpbGUiLAorCSJpbnZhbGlkYXRlZCBsb2dpY2FsIHNsb3RzIGRvIG5vdCBsZWFkIHRvIHJl dGFpbmluZyBXQUwiKTsKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMKICMgUmVjb3ZlcnkgY29uZmxpY3Q6IEludmFsaWRhdGUgY29uZmxp Y3Rpbmcgc2xvdHMsIGluY2x1ZGluZyBpbi11c2Ugc2xvdHMKLS0gCjIuMzQuMQoK --------------iybOSqol8700jeuLMbxLtLYk--