On 05/12/2014 06:26 PM, Andres Freund wrote:
>With the new "commit-in-progress" status in clog, we won't need the
>sub-committed clog status anymore. The "commit-in-progress" status will
>achieve the same thing.
Wouldn't that cause many spurious waits? Because commit-in-progress
needs to be waited on, but a sub-committed xact surely not?
Ah, no. Even today, a subxid isn't marked as sub-committed, until you
commit the top-level transaction. The sub-commit state is a very
transient state during the commit process, used to make the commit of
the sub-transactions and the top-level transaction appear atomic. The
commit-in-progress state would be a similarly short-lived state. You
mark the subxids and the top xid as commit-in-progress just before the
XLogInsert() of the commit record, and you replace them with the real
LSNs right after XLogInsert().
- Heikki
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers