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 1oJbR8-00040j-Ex for pgsql-hackers@arkaria.postgresql.org; Thu, 04 Aug 2022 14:02:54 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1oJbR7-0007ap-15 for pgsql-hackers@arkaria.postgresql.org; Thu, 04 Aug 2022 14:02:53 +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 1oJbR6-0007af-NO for pgsql-hackers@lists.postgresql.org; Thu, 04 Aug 2022 14:02:52 +0000 Received: from meldrar.postgresql.org ([2a02:c0:301:0:ffff::31]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oJbQw-0000uy-N9 for pgsql-hackers@postgresql.org; Thu, 04 Aug 2022 14:02:52 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=postgresql.org; s=20171124; h=In-Reply-To:From:References:Cc:To:Subject: MIME-Version:Date:Message-ID:Content-Type:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=peYfhPcnREy/pKFJIeJ/FQc5BoZVIDGNVoYjRxTSoxg=; b=DikriWLeD30LnJNp2cdaHLA+AF fy+Yev2d0dzO6G83fpRb3mlNCzMex4SEC1iXPWDqBfm39O0KQFsMQEJY+vmCKl+LLQIPTeK8isEXn kmNJlnjyaRpGYPblu160vjV9pFtovMgkz6/d0LO83WHUbdwQC3DSXXfBrw17vYoPtTI2iIUxuMuIP 3n2EpXAOHV3InsdK8KcYLaOR9ddJIqX7HL401gQtz1GEIhicODyBOgAKdL+/1y/nLJgKpEq5Xyacd rx0oqMhWzz0iLJj+vJ5QMTMk2/NexoM+Rf9gFscyzNdDpHb7Oinq+xBO+6S3FvdJG+b0iz1gB/Mcw WdsUt1Tg==; Received: from [50.235.206.158] (helo=[172.20.3.42]) by meldrar.postgresql.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1oJbQo-00023t-FY; Thu, 04 Aug 2022 14:02:36 +0000 Content-Type: multipart/mixed; boundary="------------kwFc66cDQJoGPT8sBjlMqK4n" Message-ID: Date: Thu, 4 Aug 2022 07:02:28 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Subject: Re: pg15b2: large objects lost on upgrade Content-Language: en-US To: Tom Lane Cc: Peter Geoghegan , Robert Haas , Andres Freund , Noah Misch , Andrew Dunstan , Bruce Momjian , Michael Paquier , Justin Pryzby , "pgsql-hackers@postgresql.org" , Shruthi Gowda References: <20220730054401.GB3644221@rfd.leadboat.com> <351616.1659192034@sss.pgh.pa.us> <635c8809-3525-7dae-a1a1-0d9069cd86bc@postgresql.org> <2657259.1659460333@sss.pgh.pa.us> <2686054.1659469199@sss.pgh.pa.us> <98286e9b-8fe6-554e-c23f-d67a3df2c30d@postgresql.org> <2687956.1659469881@sss.pgh.pa.us> <20220803202014.77m6z5m7v525p2b4@awork3.anarazel.de> <3128525.1659559617@sss.pgh.pa.us> <3260692.1659568781@sss.pgh.pa.us> From: "Jonathan S. Katz" In-Reply-To: <3260692.1659568781@sss.pgh.pa.us> X-Host-Lookup-Failed: Reverse DNS lookup failed for 50.235.206.158 (failed) 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. --------------kwFc66cDQJoGPT8sBjlMqK4n Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 8/3/22 4:19 PM, Tom Lane wrote: > "Jonathan S. Katz" writes: >> I did rule out wanting to do the "xid + $X" check after reviewing some >> of the output. I think that both $X could end up varying, and it really >> feels like a bandaid. > > It is that. I wouldn't feel comfortable with $X less than 100 or so, > which is probably sloppy enough to draw Robert's ire. Still, realizing > that what we want right now is a band-aid for 15beta3, I don't think > it's an unreasonable short-term option. Attached is the "band-aid / sloppy" version of the patch. Given from the test examples I kept seeing deltas over 100 for relfrozenxid, I chose 1000. The mxid delta was less, but I kept it at 1000 for consistency (and because I hope this test is short lived in this state), but can be talked into otherwise. >> Andres suggested upthread using "txid_current()" -- for the comparison, >> that's one thing I looked at. Would any of the XID info from >> "pg_control_checkpoint()" also serve for this test? > > I like the idea of txid_current(), but we have no comparable > function for mxid do we? While you could get both numbers from > pg_control_checkpoint(), I doubt that's sufficiently up-to-date. ...unless we force a checkpoint in the test? Jonathan --------------kwFc66cDQJoGPT8sBjlMqK4n Content-Type: text/plain; charset=UTF-8; name="pg_upgrade-test-gte-xid-v2.patch" Content-Disposition: attachment; filename="pg_upgrade-test-gte-xid-v2.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfdXBncmFkZS90LzAwMl9wZ191cGdyYWRlLnBsIGIv c3JjL2Jpbi9wZ191cGdyYWRlL3QvMDAyX3BnX3VwZ3JhZGUucGwKaW5kZXggNGNiYzc1NjQ0 Yy4uY2VkODg5NjAxZiAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ191cGdyYWRlL3QvMDAyX3Bn X3VwZ3JhZGUucGwKKysrIGIvc3JjL2Jpbi9wZ191cGdyYWRlL3QvMDAyX3BnX3VwZ3JhZGUu cGwKQEAgLTIyNiw2ICsyMjYsOCBAQCBPUkRFUiBCWSBjLm9pZDo6cmVnY2xhc3M6OnRleHQK IEVPTQogJGhvcml6b25fcXVlcnkgPX4gcy9ccysvIC9nOyAjIHJ1biBpdCB0b2dldGhlciBv biBvbmUgbGluZQogbXkgJGhvcml6b24xID0gJG9sZG5vZGUtPnNhZmVfcHNxbCgncmVncmVz c2lvbicsICRob3Jpem9uX3F1ZXJ5KTsKK2Nob21wKCRob3Jpem9uMSk7CitteSBAaG9yaXpv bjFfdmFsdWVzID0gc3BsaXQoL1x8LywgJGhvcml6b24xKTsKIAogIyBJbiBhIFZQQVRIIGJ1 aWxkLCB3ZSdsbCBiZSBzdGFydGVkIGluIHRoZSBzb3VyY2UgZGlyZWN0b3J5LCBidXQgd2Ug d2FudAogIyB0byBydW4gcGdfdXBncmFkZSBpbiB0aGUgYnVpbGQgZGlyZWN0b3J5IHNvIHRo YXQgYW55IGZpbGVzIGdlbmVyYXRlZCBmaW5pc2gKQEAgLTMxMyw2ICszMTUsOCBAQCAkbmV3 bm9kZS0+Y29tbWFuZF9vaygKIAogIyBBbmQgcmVjb3JkIHRoZSBob3Jpem9ucyBmcm9tIHRo ZSB1cGdyYWRlZCBjbHVzdGVyIGFzIHdlbGwuCiBteSAkaG9yaXpvbjIgPSAkbmV3bm9kZS0+ c2FmZV9wc3FsKCdyZWdyZXNzaW9uJywgJGhvcml6b25fcXVlcnkpOworY2hvbXAoJGhvcml6 b24yKTsKK215IEBob3Jpem9uMl92YWx1ZXMgPSBzcGxpdCgvXHwvLCAkaG9yaXpvbjIpOwog CiAjIENvbXBhcmUgdGhlIHR3byBkdW1wcywgdGhlcmUgc2hvdWxkIGJlIG5vIGRpZmZlcmVu Y2VzLgogbXkgJGNvbXBhcmVfcmVzID0gY29tcGFyZSgiJHRlbXBkaXIvZHVtcDEuc3FsIiwg IiR0ZW1wZGlyL2R1bXAyLnNxbCIpOwpAQCAtMzMxLDggKzMzNSwxMyBAQCBpZiAoJGNvbXBh cmVfcmVzICE9IDApCiAJcHJpbnQgIj09PSBFT0YgPT09XG4iOwogfQogCi0jIENvbXBhcmUg dGhlIGhvcml6b25zLCB0aGVyZSBzaG91bGQgYmUgbm8gZGlmZmVyZW5jZXMuCi1teSAkaG9y aXpvbnNfb2sgPSAkaG9yaXpvbjEgZXEgJGhvcml6b24yOworIyBDb21wYXJlIHRoZSBob3Jp em9ucy4gVGhlcmUgc2hvdWxkIGJlIG5vIGNoYW5nZSBpbiB0aGUgT0lELCBzbyB3ZSB3aWxs IHRlc3QKKyMgZm9yIGVxdWFsaXR5LiBIb3dldmVyLCBiZWNhdXNlIGF1dG92YWN1dW0gbWF5 IGhhdmUgcnVuIGJldHdlZW4gdGhlIHR3bworIyBob3JpemlvbnMsIHdlIHdpbGwgY2hlY2sg aWYgdGhlIHVwZGF0ZWQgaG9yaXpvbiBYSURzIGFyZSBncmVhdGVyIHRoYW4gb3IKKyMgZXF1 YWwgdG8gdGhlIG9yaWdpbmFscy4KK215ICRob3Jpem9uc19vayA9ICRob3Jpem9uMl92YWx1 ZXNbMF0gZXEgJGhvcml6b24xX3ZhbHVlc1swXSAmJgorCWludCgkaG9yaXpvbjJfdmFsdWVz WzFdKSA8PSBpbnQoJGhvcml6b24xX3ZhbHVlc1sxXSkgKyAxMDAwICYmCisJaW50KCRob3Jp em9uMl92YWx1ZXNbMl0pIDw9IGludCgkaG9yaXpvbjFfdmFsdWVzWzJdKSArIDEwMDA7CiBv aygkaG9yaXpvbnNfb2ssICdvbGQgYW5kIG5ldyBob3Jpem9ucyBtYXRjaCBhZnRlciBwZ191 cGdyYWRlJyk7CiAKICMgUHJvdmlkZSBtb3JlIGNvbnRleHQgaWYgdGhlIGhvcml6b25zIGRv IG5vdCBtYXRjaC4K --------------kwFc66cDQJoGPT8sBjlMqK4n--