Thread: BUG #8984: ERROR: t_xmin is uncommitted in tuple to be updated

BUG #8984: ERROR: t_xmin is uncommitted in tuple to be updated

From
marko@joh.to
Date:
The following bug has been logged on the website:

Bug reference:      8984
Logged by:          Marko Tiikkaja
Email address:      marko@joh.to
PostgreSQL version: 9.1.11
Operating system:   64-bit Ubuntu
Description:

Hi,

I just noticed we've had the error in subject happen around ten times,
starting from Thursday.  I don't see it having happened before that.  IIRC
that day we also switched to another synchronous slave.  The previous slave
had hot_standby_feedback=on, and the new one has it turned off.  Might just
be a coincidence.

All of the failing queries are inside PL/PgSQL functions, most of them are
SELECT .. FOR UPDATE or UPDATE against a table called "workers", but there
are a couple of instances against other tables as well.

Any ideas?  I'll be happy to provide more information, just let me know what
you need.

Re: BUG #8984: ERROR: t_xmin is uncommitted in tuple to be updated

From
Marko Tiikkaja
Date:
Hi,

It looks like this could happen if the xmin of the tuple happens to be
the reported xid of a standby with hot_standby_feedback, no?  But I
would expect this problem to happen more frequently if that's true..


Regards,
Marko Tiikkaja

Re: BUG #8984: ERROR: t_xmin is uncommitted in tuple to be updated

From
Marko Tiikkaja
Date:
On 1/29/14, 12:25 PM, I wrote:
> It looks like this could happen if the xmin of the tuple happens to be
> the reported xid of a standby with hot_standby_feedback, no?

My bad, hot_standby_feedback sets xmin, but TransactionIdIsInProgress()
only looks at xid.  So that theory is obviously bogus.


Regards,
Marko Tiikkaja