On 21.06.2011 05:18, Dan Ports wrote:
The first patch addresses this bug by re-adding SXACT_FLAG_ROLLED_BACK,
in a more limited form than its previous incarnation.
We need to be able to distinguish transactions that have already
called ReleasePredicateLocks and are thus eligible for cleanup
On Tue, Jun 21, 2011 at 03:01:48PM +0300, Heikki Linnakangas wrote:
Thanks, committed.
Thanks.
In the long term, I'm not sure this is the best way to handle this. It
feels a bit silly to set the flag, release the SerializableXactHashLock,
and reacquire it later to remove the transaction
On Wed, Jun 22, 2011 at 01:31:11AM -0400, Dan Ports wrote:
Yes, I suspect it can be done better. The reason it's tricky is a lock
ordering issue; part of releasing a SerializableXact has to be done
while holding SerializableXactHashLock and part has to be done without
it (because it involves
On Sun, Jun 19, 2011 at 09:10:02PM -0400, Robert Haas wrote:
Is this an open item for 9.1beta3?
Yes. I've put it on the list.
The SxactGlobalXmin and its refcount were getting out of sync with the
actual transaction state. This is timing-dependent but I can reproduce it
fairly reliably under
Dan Ports d...@csail.mit.edu wrote:
It looks the problem comes from the change a couple days ago that
removed the SXACT_FLAG_ROLLED_BACK flag and changed the
SxactIsRolledBack checks to SxactIsDoomed. That's the correct
thing to do everywhere else, but gets us in trouble here. We
shouldn't
While testing the fix for this one, I found another bug. Patches for
both are attached.
The first patch addresses this bug by re-adding SXACT_FLAG_ROLLED_BACK,
in a more limited form than its previous incarnation.
We need to be able to distinguish transactions that have already
called
On Sat, Jun 18, 2011 at 11:57 AM, Rémi Zara remi_z...@mac.com wrote:
Pika failed at the isolationCheck phase, hitting an assertion:
TRAP: FailedAssertion(!(!((oldSerXidControl-tailXid) != ((TransactionId)
0)) || TransactionIdFollows(xid, oldSerXidControl-tailXid)), File:
predicate.c, Line:
Hi,
Pika failed at the isolationCheck phase, hitting an assertion:
TRAP: FailedAssertion(!(!((oldSerXidControl-tailXid) != ((TransactionId) 0))
|| TransactionIdFollows(xid, oldSerXidControl-tailXid)), File: predicate.c,
Line: 991)
see
On 06/18/2011 11:57 AM, Rémi Zara wrote:
Hi,
Pika failed at the isolationCheck phase, hitting an assertion:
TRAP: FailedAssertion(!(!((oldSerXidControl-tailXid) != ((TransactionId) 0)) ||
TransactionIdFollows(xid, oldSerXidControl-tailXid)), File: predicate.c, Line: 991)
see