[Mulgara-general] New JTA support now considered beta - please test and report success/failure to the list.
Life is hard, and then you die
ronald at innovation.ch
Thu Feb 7 04:16:38 UTC 2008
On Mon, Jan 14, 2008 at 08:42:54PM +1000, Andrae Muys wrote:
>
> With revision 625 I am finally satisfied that the new JTA interface
> is functionally complete and has been subjected to a reasonable
> number of tests. This will allow Mulgara transactions to be
> synchronised with other databases which will provide an immediate
> solution to the problem of how to support BLOBS and other file/
> document storage. I would particularly like to thank the Topaz
> Foundation for their financial and logistical support that made this
> improvement feasible, it really is greatly appreciated.
[snip]
Btw., I'm also seeing "Lost phase token"s showing up, and reference
counting errors. Here's a snippet from the log:
INFO [main] (DatabaseSession.java:523) - setAutoCommit(false) called.
INFO [main] (MulgaraInternalTransaction.java:728) - Creating Transaction: 3288014, state=null, inuse=0, using=0
INFO [main] (MulgaraInternalTransaction.java:728) - Finished Creating Transaction: 3288014, state=CONSTRUCTEDUNREF, inuse=0, using=0
INFO [main] (MulgaraInternalTransaction.java:728) - Referencing Transaction: 3288014, state=CONSTRUCTEDUNREF, inuse=0, using=0
INFO [main] (MulgaraInternalTransaction.java:728) - Leaving Reference Transaction: 3288014, state=CONSTRUCTEDREF, inuse=0, using=0
INFO [main] (DatabaseSession.java:384) - QUERY: SELECT $s $p $o FROM local:///test1#m1 WHERE [$s $p $o $_from] GIVEN 0 columns: (1 rows)
INFO [main] (MulgaraInternalTransaction.java:728) - Executing Operation: 3288014, state=CONSTRUCTEDREF, inuse=0, using=0
INFO [main] (MulgaraInternalTransaction.java:728) - Initiating transaction: 3288014, state=CONSTRUCTEDREF, inuse=0, using=0
INFO [main] (MulgaraInternalTransactionFactory.java:283) - Beginning Transaction
INFO [main] (TransactionalAnswer.java:236) - Creating Answer: 22917439, xa=0
INFO [main] (MulgaraInternalTransaction.java:728) - Referencing Transaction: 3288014, state=ACTREF, inuse=1, using=1
INFO [main] (MulgaraInternalTransaction.java:728) - Leaving Reference Transaction: 3288014, state=ACTREF, inuse=1, using=2
INFO [main] (TransactionalAnswer.java:236) - Created Answer: 22917439, xa=3288014
INFO [main] (MulgaraInternalTransaction.java:728) - Executed Operation: 3288014, state=DEACTREF, inuse=0, using=2
INFO [main] (DatabaseSession.java:534) - Committing transaction
INFO [Finalizer] (TransactionalAnswer.java:236) - GC-finalizing: 22917439, xa=3288014
WARN [Finalizer] (TransactionalAnswer.java:247) - TransactionalAnswer not closed
INFO [main] (MulgaraInternalTransaction.java:728) - Executing TransactionOperation: 3288014, state=DEACTREF, inuse=0, using=2
INFO [main] (MulgaraInternalTransaction.java:728) - Dereferencing Transaction: 3288014, state=ACTREF, inuse=1, using=2
INFO [main] (MulgaraInternalTransaction.java:728) - Dereferenced Transaction: 3288014, state=ACTREF, inuse=1, using=1
INFO [main] (MulgaraInternalTransaction.java:728) - Committing Transaction: 3288014, state=ACTREF, inuse=1, using=1
INFO [main] (FreeList.java:1342) - Lost phase token.
java.lang.Throwable
at org.mulgara.store.xa.FreeList$Phase.<init>(FreeList.java:1086)
at org.mulgara.store.xa.ManagedBlockFile$Phase.<init>(ManagedBlockFile.java:245)
at org.mulgara.store.xa.AVLFile$Phase.<init>(AVLFile.java:252)
at org.mulgara.store.statement.xa.TripleAVLFile$Phase.<init>(TripleAVLFile.java:578)
at org.mulgara.store.statement.xa.XAStatementStoreImpl$Phase.<init>(XAStatementStoreImpl.java:1480)
at org.mulgara.store.statement.xa.XAStatementStoreImpl.prepare(XAStatementStoreImpl.java:814)
at org.mulgara.resolver.StringPoolSession.prepare(StringPoolSession.java:264)
at org.mulgara.resolver.store.StatementStoreXAResource.prepare(StatementStoreXAResource.java:180)
at org.mulgara.resolver.store.StatementStoreXAResource.commit(StatementStoreXAResource.java:209)
at org.objectweb.jotm.SubCoordinator.doOnePhaseCommit(SubCoordinator.java:893)
at org.objectweb.jotm.SubCoordinator.commit_one_phase(SubCoordinator.java:397)
at org.objectweb.jotm.TransactionImpl.commit(TransactionImpl.java:222)
at org.mulgara.resolver.MulgaraInternalTransaction.commitTransaction(MulgaraInternalTransaction.java:377)
at org.mulgara.resolver.MulgaraInternalTransactionFactory$3$1.execute(MulgaraInternalTransactionFactory.java:226)
at org.mulgara.resolver.MulgaraInternalTransaction.execute(MulgaraInternalTransaction.java:618)
at org.mulgara.resolver.MulgaraInternalTransactionFactory$3.execute(MulgaraInternalTransactionFactory.java:223)
at org.mulgara.resolver.MulgaraTransactionFactory.runWithoutMutex(MulgaraTransactionFactory.java:234)
at org.mulgara.resolver.MulgaraInternalTransactionFactory.setAutoCommit(MulgaraInternalTransactionFactory.java:221)
at org.mulgara.resolver.DatabaseSession.setAutoCommit(DatabaseSession.java:527)
at org.topazproject.mulgara.itql.TIClient.close(TIClient.java:183)
[snip]
INFO [main] (FreeList.java:1342) - Lost phase token.
java.lang.Throwable
at org.mulgara.store.xa.FreeList$Phase.<init>(FreeList.java:1086)
at org.mulgara.store.xa.ManagedBlockFile$Phase.<init>(ManagedBlockFile.java:245)
at org.mulgara.store.statement.xa.TripleAVLFile$Phase.<init>(TripleAVLFile.java:579)
at org.mulgara.store.statement.xa.XAStatementStoreImpl$Phase.<init>(XAStatementStoreImpl.java:1480)
at org.mulgara.store.statement.xa.XAStatementStoreImpl.prepare(XAStatementStoreImpl.java:814)
at org.mulgara.resolver.StringPoolSession.prepare(StringPoolSession.java:264)
at org.mulgara.resolver.store.StatementStoreXAResource.prepare(StatementStoreXAResource.java:180)
at org.mulgara.resolver.store.StatementStoreXAResource.commit(StatementStoreXAResource.java:209)
at org.objectweb.jotm.SubCoordinator.doOnePhaseCommit(SubCoordinator.java:893)
at org.objectweb.jotm.SubCoordinator.commit_one_phase(SubCoordinator.java:397)
at org.objectweb.jotm.TransactionImpl.commit(TransactionImpl.java:222)
at org.mulgara.resolver.MulgaraInternalTransaction.commitTransaction(MulgaraInternalTransaction.java:377)
at org.mulgara.resolver.MulgaraInternalTransactionFactory$3$1.execute(MulgaraInternalTransactionFactory.java:226)
at org.mulgara.resolver.MulgaraInternalTransaction.execute(MulgaraInternalTransaction.java:618)
at org.mulgara.resolver.MulgaraInternalTransactionFactory$3.execute(MulgaraInternalTransactionFactory.java:223)
at org.mulgara.resolver.MulgaraTransactionFactory.runWithoutMutex(MulgaraTransactionFactory.java:234)
at org.mulgara.resolver.MulgaraInternalTransactionFactory.setAutoCommit(MulgaraInternalTransactionFactory.java:221)
at org.mulgara.resolver.DatabaseSession.setAutoCommit(DatabaseSession.java:527)
at org.topazproject.mulgara.itql.TIClient.close(TIClient.java:183)
[snip]
INFO [main] (MulgaraInternalTransaction.java:728) - Committed transaction: 3288014, state=FINISHED, inuse=1, using=1
INFO [main] (MulgaraInternalTransaction.java:728) - Executed TransactionOperation: 3288014, state=FINISHED, inuse=0, using=1
[another tx snipped]
INFO [Finalizer] (MulgaraInternalTransaction.java:728) - GC-finalize: 3288014, state=FINISHED, inuse=0, using=1
ERROR [Finalizer] (MulgaraInternalTransaction.java:741) - Reference counting error in transaction: 3288014, state=FINISHED, inuse=0, using=1
java.lang.Throwable
at org.mulgara.resolver.MulgaraInternalTransaction.errorReport(MulgaraInternalTransaction.java:741)
at org.mulgara.resolver.MulgaraInternalTransaction.finalize(MulgaraInternalTransaction.java:718)
at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)
Let me know if you want more details.
Cheers,
Ronald
More information about the Mulgara-general
mailing list