From: | Andres Freund <andres(at)anarazel(dot)de> |
---|---|
To: | Petr Jelinek <petr(dot)jelinek(at)2ndquadrant(dot)com> |
Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: snapbuild woes |
Date: | 2016-12-12 21:42:27 |
Message-ID: | 20161212214227.qxspxdqqrprfvnz3@alap3.anarazel.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
On 2016-12-10 23:10:19 +0100, Petr Jelinek wrote:
> Hi,
> First one is outright bug, which has to do with how we track running
> transactions. What snapbuild basically does while doing initial snapshot
> is read the xl_running_xacts record, store the list of running txes and
> then wait until they all finish. The problem with this is that
> xl_running_xacts does not ensure that it only logs transactions that are
> actually still running (to avoid locking PGPROC) so there might be xids
> in xl_running_xacts that already committed before it was logged.
I don't think that's actually true? Notice how LogStandbySnapshot()
only releases the lock *after* the LogCurrentRunningXacts() iff
wal_level >= WAL_LEVEL_LOGICAL. So the explanation for the problem you
observed must actually be a bit more complex :(
Regards,
Andres
From | Date | Subject | |
---|---|---|---|
Next Message | Kevin Grittner | 2016-12-12 21:47:44 | Re: [OSSTEST PATCH 0/1] PostgreSQL db: Retry on constraint violation |
Previous Message | Peter Geoghegan | 2016-12-12 21:22:25 | Re: tuplesort_gettuple_common() and *should_free argument |