Re: Subtransaction commits and Hot Standby
От | Alvaro Herrera |
---|---|
Тема | Re: Subtransaction commits and Hot Standby |
Дата | |
Msg-id | 20080916141148.GA9229@alvh.no-ip.org обсуждение исходный текст |
Ответ на | Re: Subtransaction commits and Hot Standby (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>) |
Ответы |
Re: Subtransaction commits and Hot Standby
Re: Subtransaction commits and Hot Standby Re: Subtransaction commits and Hot Standby |
Список | pgsql-hackers |
Heikki Linnakangas wrote: > Simon Riggs wrote: >> Subtransactions cause a couple of problems for Hot Standby: > > Do we need to treat subtransactions any differently from normal > transactions? Just treat all subtransactions as top-level transactions > until commit, and mark them all as committed when you see the commit > record for the top-level transaction. This could lead to inconsistent results -- some of the subtransactions could be marked as committed while others are still in progress. Unless we want to be able to atomically mark them all as committed, but I don't think that's really an option because it could mean holding the clog lock for a long time, possibly involving I/O of clog pages. >> Right now we lock and unlock the clog for each committed subtransaction >> at commit time, which is wasteful. A better scheme: >> pre-scan the list of xids to derive list of pages >> if we have just a single page to update >> { >> update all entries on page in one action >> } >> else >> { >> loop thru xids marking them all as subcommitted >> mark top level transaction committed >> loop thus xids again marking them all as committed >> } > Hmm, I don't see anything immediately wrong with that. Neither do I. I wonder if the improved clog API required to mark multiple transactions as committed at once would be also useful to TransactionIdCommitTree which is used in regular transaction commit. -- Alvaro Herrera http://www.CommandPrompt.com/ The PostgreSQL Company - Command Prompt, Inc.
В списке pgsql-hackers по дате отправления: