[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