[Mulgara-dev] Update on MGR-44
Andrae Muys
andrae at netymon.com
Fri Mar 9 08:38:44 UTC 2007
I thought I'd provide an update on my progress on MGR-44 (the
recursive transaction bug). As I mentioned the core problem was a
misconception of the type of automata required to represent the state
of a transaction. The need to track matching activate/deactivate and
reference/dereference pairs makes use of a deterministic finite
automata impossible, and requires instead a deterministic pushdown
automata.
I have documented (and attached) the required DPA as a combination of
a UML state diagram and a fragment of ML code - really I just wanted
pattern matching, but when the difference between that and legitimate
ML is so trivial, why not.
I have also attached my current version of MulgaraTransaction.java -
I believe this to be correct (although it is uncompiled and untested)
- testing and further inspection is on next weeks agenda. It will
also require the following work before it can be tested:
MulgaraTransactionManager
- terminateCurrentTransactions needs to be rewritten to make calls
to Transaction explicit in intent.
- rollback doesn't need to call completeTransaction -
explicitRollback should be sufficient.
- setAutoCommit needs to be rewritten to make explicit calls to
either commit or rollback - explicit intent.
DatabaseOperationContext
- abort needs to be migrated into MulgaraTransaction (we should
capture the required state from enlist) and replaced with a simple
call to clear().
I will also need to reinspect:
DatabaseSession:
- execute
DatabaseOperationContext:
- initiate
- obtainResolver
TransactionalAnswer
- calls to execute(AnswerOperation)
- clone
- <init>
- close
MulgaraTransactionManager
- getTransaction
- obtainWriteLock
Andrae Muys
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Transaction State Diagram.png
Type: image/png
Size: 63488 bytes
Desc: not available
URL: <http://lists.mulgara.org/pipermail/mulgara-dev/attachments/20070309/27c9d21e/attachment.png>
-------------- next part --------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: transaction_dpa.ml
Type: application/octet-stream
Size: 1480 bytes
Desc: not available
URL: <http://lists.mulgara.org/pipermail/mulgara-dev/attachments/20070309/27c9d21e/attachment.obj>
-------------- next part --------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: MulgaraTransaction.java
Type: application/octet-stream
Size: 22863 bytes
Desc: not available
URL: <http://lists.mulgara.org/pipermail/mulgara-dev/attachments/20070309/27c9d21e/attachment-0001.obj>
-------------- next part --------------
--
Andrae Muys
andrae at netymon.com
Principal Mulgara Consultant
Netymon Pty Ltd
More information about the Mulgara-dev
mailing list