| From: | Simon Riggs <simon(at)2ndQuadrant(dot)com> |
|---|---|
| To: | Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com> |
| Cc: | Hiroyuki Yamada <yamada(at)kokolink(dot)net>, pgsql-hackers(at)postgresql(dot)org |
| Subject: | Re: Hot Standby and prepared transactions |
| Date: | 2009-12-17 13:38:27 |
| Message-ID: | 1261057107.634.3289.camel@ebony |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Thu, 2009-12-17 at 15:18 +0200, Heikki Linnakangas wrote:
> That removed piece of code was executed in the standby whenever we saw a
> shutdown checkpoint. It calls ProcArrayApplyRecoveryInfo(), which calls
> ExpireOldKnownAssignedTransactionIds() and StandbyReleaseOldLocks() to
> clean up known-assigned-xid entries and locks of the implicitly-aborted
> transactions.
OK, I was presuming that running StandbyRecoverPreparedTransactions()
and ProcArrayInitRecoveryInfo() twice would cause problems.
> I see now that in the presence of prepared transactions, we would fail
> to clean up failed transations with XID > the oldest prepared
> transaction
Good! I just spotted that also, just prior to posting my fix, so
rewriting it again now.
--
Simon Riggs www.2ndQuadrant.com
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Kevin Grittner | 2009-12-17 13:38:37 | Re: Update on true serializable techniques in MVCC |
| Previous Message | Kevin Grittner | 2009-12-17 13:30:25 | Re: Update on true serializable techniques in MVCC |