public inbox for [email protected]  
help / color / mirror / Atom feed
From: Imran Zaheer <[email protected]>
To: Heikki Linnakangas <[email protected]>
Cc: Michael Paquier <[email protected]>
Cc: Srinath Reddy Sadipiralla <[email protected]>
Cc: Matthias van de Meent <[email protected]>
Cc: Alexander Lakhin <[email protected]>
Cc: PostgreSQL mailing lists <[email protected]>
Cc: Konstantin Knizhnik <[email protected]>
Subject: Re: BUG #19519: REPACK can fail due to missing chunk for toast value
Date: Wed, 8 Jul 2026 20:00:28 +0500
Message-ID: <CA+UBfa=r2yE7swa_xX9X0y4uq0wury5_AAHr_yHvG3A+9mKzcA@mail.gmail.com> (raw)
In-Reply-To: <[email protected]>
References: <CAFC+b6rLNvDzzYxrfLdq7CWbbouHcuOxi-mjEOW1r3qy2uAPMQ@mail.gmail.com>
	<CA+UBfan1QukfNDPvb2YpPG-ME4vUduBfbbe5uWptXDryZbtwVA@mail.gmail.com>
	<[email protected]>
	<CAEze2WhCRX86ZY2QN7vuGc3wsAyOJbArFSc0i5KtMVnsguA7Kw@mail.gmail.com>
	<[email protected]>
	<CAEze2WgBjhf6KTKuJ-UqHHGj9Z66f62grmJgZ1EazvMH9HU+XA@mail.gmail.com>
	<[email protected]>
	<[email protected]>
	<CAFC+b6rOdx6rMi_numCrK8cM4z_HWQKrAcBY0dfrRcRWTRpsBQ@mail.gmail.com>
	<[email protected]>
	<[email protected]>
	<[email protected]>

Hi.

@@ -934,10 +953,17 @@ heapam_relation_copy_for_cluster(Relation
OldHeap, Relation NewHeap,


-                reform_and_rewrite_tuple(tuple,
-                                         OldHeap, NewHeap,
-                                         values, isnull,
-                                         rwstate);
+            {
+                if (!reform_and_rewrite_tuple(tuple,
+                                              OldHeap, NewHeap,
+                                              values, isnull,
+                                              rwstate, true))
+                {
+                    /* TOAST gone for a recently dead tuple */
+                    n_tuples -= 1;
+                    continue;
+                }
+            }


The tuplesort_getheaptuple() will contain both live and recently
deleted tuples. However, the proposed fix passes missing_ok=true for
all tuples coming out of the sort, which means a toast fetch failure
for a LIVE tuple would be acceptable and will be silently skipped. Or
am I missing something?


Thanks
Imran Zaheer






view thread (21+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
  Subject: Re: BUG #19519: REPACK can fail due to missing chunk for toast value
  In-Reply-To: <CA+UBfa=r2yE7swa_xX9X0y4uq0wury5_AAHr_yHvG3A+9mKzcA@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox