On Wed, 2009-09-30 at 16:46 -0400, Steve Huston wrote: > I've been studying the Red Hat message store code and, in particular > this week, the transaction handling and TPL. From what I understand at > this point, the role of the TPL is to enable recover prepared but not > committed transaction actions. And, this is mostly needed because the > journal is not transactional. Is this correct?
Correct - the TPL simply records the transaction boundaries for recovery - something that is usually internal to traditional databases. The previous BDB version used BDB's internal transactions to provide this capability to the store. > If this is correct, and I am looking primarily at providing an > SQL-backed store for Windows (at least right now), I don't really need > to worry about the TPL stuff (yet) since SQL transactions don't > require an external assist in the form of the TPL. > > If I use two layers of transaction, one around the 2PC prepare/commit > sequence, and others around the individual enqueue/dequeue ops, that > would do it, I think. Does this make sense? Sounds good. Make sure that the multi-queue cases are handled correctly, ie a transaction that spans one or more messages being enqueued and/or dequeud on multiple queues. > Thanks, > -Steve --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:[email protected]
