Heikki Linnakangas wrote: > Simon Riggs wrote: >> On Wed, 2009-09-23 at 11:13 +0300, Heikki Linnakangas wrote: >>> I note that we don't emit RunningXacts after a shutdown checkpoint. So >>> if recovery starts at a shutdown checkpoint, we don't let read-only >>> backends in until the first online checkpoint. Could we treat a shutdown >>> checkpoint as a snapshot with no transactions running? Or do prepared >>> transactions screw that up? >> We could, but I see no requirement for starting HS from a backup taken >> on a shutdown database. It's just another special case to test and since >> we already have significant number of important test cases I'd say add >> this later. > > There's also a related issue that if a backend holding > AccessExclusiveLock crashes without writing an abort WAL record, the > lock is never released in the standby. We handle the expiration of xids > at replay of running-xacts records, but AFAICS we don't do that for locks.
Ah, scratch that, I now see that we do call XactClearRecoveryTransactions() when we see a shutdown checkpoint, which clears all recovery locks. But doesn't that prematurely clear all locks belonging to prepared transactions as well? -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers