Re: [Postgres-xc-general] "Tuple not found error" during Index creation - Mailing list pgsql-general

From Sandeep Gupta
Subject Re: [Postgres-xc-general] "Tuple not found error" during Index creation
Date
Msg-id CAAywg7ueODoOp_OZAvNHDKaHKnUGFAGmj0x_e48814GC_3PPbg@mail.gmail.com
Whole thread Raw
In response to Re: [Postgres-xc-general] "Tuple not found error" during Index creation  (Michael Paquier <michael.paquier@gmail.com>)
Responses Re: [Postgres-xc-general] "Tuple not found error" during Index creation  (Michael Paquier <michael.paquier@gmail.com>)
List pgsql-general
Hi Michael,

 I can provide the table schema and the data over which indexing almost always fails with tuple not found error. 
Would this be of help.  The other issue is that file is 3.2GB  so we would have work some logistics to transfer this across. 

Let me know.

-Sandeep



On Mon, Dec 9, 2013 at 5:49 PM, Michael Paquier <michael.paquier@gmail.com> wrote:
On Tue, Dec 10, 2013 at 7:17 AM, Sandeep Gupta <gupta.sandeep@gmail.com> wrote:
>  We are trying to trace cause and potential solution of "tuple not found"
> error with postgres-xc. The problem happens when indexing a large file. It
> seems the autovaccum locks certain cache pages that the indexer tries to
> read. The indexing fails with  "tuple not found" error.
>
> I am sure if it qualifies as postgres or postgres-xc error. However, I was
> just wondering what is the recommended way to go about fixing this. Turning
> off the autovaccumer  is really not the best of solution because then the
> system runs into memory usage error.
>
> Would greatly appreciate any pointers on this.
This smells like a concurrency issue with autovacuum on XC side. I
recall fixing in the past issues with autovacuum not taking a correct
snapshot from GTM in certain code paths, putting in danger data
consistency in the cluster as autovacuum might clean more tuples than
it should. Another possibility to explain this bug would be the way
RecentGlobalXmin is computed for autovacuum using the GTM snapshots,
which would explain why autovacuum has cleaned away some tuples it
should not have, making the possibility of a failure higher for
long-running transactions.

Those are assumptions though. It would be great if you could provide a
self-contained test case, with let's imagine a table that has its data
generated with for example generate_series. Just by seeing the spec of
the machine you are using, I am sure that i wouldn't be able to
reproduce that on my laptop though. The core team has access to more
powerful machines.

Also: Postgres-XC 1.1.0 is based on Postgres 9.2.4.
--
Michael

pgsql-general by date:

Previous
From: Sameer Kumar
Date:
Subject: Trigger Firing Order
Next
From: Michael Paquier
Date:
Subject: Re: [Postgres-xc-general] "Tuple not found error" during Index creation