On Tue, 2009-02-24 at 21:59 +0200, Heikki Linnakangas wrote:
> We only need the lsn atrribute because we when we take the snapshot
> of
> running xids, we don't write it to the WAL immediately, and a new
> transaction might begin after that. If we close that gap in the
> master,
> we don't need the lsn in recovery procs.
>
> Actually, I think the patch doesn't get that right as it stands:
>
> 0. Transactions 1 is running in master
> 1. Get list of running transactions
> 2. Transaction 1 commits.
> 3. List of running xacts is written to WAL
>
> When the standby replays the xl_running_xacts record, it will create
> a
> recovery proc and mark the transaction as running again, even though
> it
> has already committed.
No, because we check whether TransactionIdDidCommit().
-- Simon Riggs www.2ndQuadrant.comPostgreSQL Training, Services and Support