Re: [bugfix] commit timestamps ERROR on lookup of FrozenTransactionId - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: [bugfix] commit timestamps ERROR on lookup of FrozenTransactionId
Date
Msg-id 20161124133057.2phiorqa4h7ikxje@alvherre.pgsql
Whole thread Raw
In response to Re: [bugfix] commit timestamps ERROR on lookup of FrozenTransactionId  (Craig Ringer <craig@2ndquadrant.com>)
Responses Re: [bugfix] commit timestamps ERROR on lookup of FrozenTransactionId
List pgsql-hackers
I considered the argument here for a bit and I think Craig is right --
FrozenXid eventually makes it to a tuple's xmin where it becomes a burden
to the caller, making our interface bug-prone -- sure you can
special-case it, but you don't until it first happens ... and it may not
until you're deep into production.

Even the code comment is confused: "error if the given Xid doesn't
normally commit".  But surely FrozenXid *does* commit in the sense that
it appears in committed tuples' Xmin.

We already have a good mechanism for replying to the query with "this
value is too old for us to have its commit TS", which is a false return
value.  We should use that.

I think not backpatching is worse, because then users have to be aware
that they need to handle the FrozenXid case specially, but only on
9.5/9.6 ...  I think the reason it took this long to pop up is because
it has taken this long to get to replication systems on which this issue
matters.

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



pgsql-hackers by date:

Previous
From: Vladimir Svedov
Date:
Subject: Re: postgres 9.3 postgres_fdw ::LOG: could not receive data from client: Connection reset by peer
Next
From: Andreas Karlsson
Date:
Subject: Re: [PATCH] Reload SSL certificates on SIGHUP