[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:15:53 UTC 2008


  Hi Andrae,

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]

Using the mgr-73 branch, I'm getting a failed assertion doing
essentially

  s1.setAutoCommit(false)
  insert/query
  s1.commit()
  s1.close()

  s2.setAutoCommit(false)

Shouldn't the session.close() reset things? (Note this not using
XAResource yet).

FYI, the assertion stack-trace is

Caused by: org.mulgara.query.QueryException: Error setting autocommit
        at org.mulgara.resolver.DatabaseSession.setAutoCommit(DatabaseSession.java:529)
        at org.topazproject.mulgara.itql.TIClient.beginTxn(TIClient.java:107)
        ... 58 more
Caused by: org.mulgara.query.MulgaraTransactionException: Error creating write transaction
        at org.mulgara.resolver.MulgaraInternalTransactionFactory.getTransaction(MulgaraInternalTransactionFactory.java:111)
        at org.mulgara.resolver.MulgaraInternalTransactionFactory.setAutoCommit(MulgaraInternalTransactionFactory.java:265)
        at org.mulgara.resolver.DatabaseSession.setAutoCommit(DatabaseSession.java:527)
        ... 59 more
Caused by: java.lang.AssertionError
        at org.mulgara.resolver.MulgaraInternalTransactionFactory.getTransaction(MulgaraInternalTransactionFactory.java:106)
        ... 61 more

Also, some logs leading up to this are:

 INFO [main] (DatabaseSession.java:534) - Committing transaction
 INFO [main] (MulgaraInternalTransaction.java:728) - Executing TransactionOperation: 15734641, state=DEACTREF, inuse=0, using=2
 INFO [main] (MulgaraInternalTransaction.java:728) - Dereferencing Transaction: 15734641, state=ACTREF, inuse=1, using=2
 INFO [main] (MulgaraInternalTransaction.java:728) - Dereferenced Transaction: 15734641, state=ACTREF, inuse=1, using=1
 INFO [main] (MulgaraInternalTransaction.java:728) - Committing Transaction: 15734641, state=ACTREF, inuse=1, using=1
 INFO [main] (TransactionalAnswer.java:236) - Session forced close: 5253145, xa=15734641
 INFO [main] (MulgaraInternalTransaction.java:728) - Dereferencing Transaction: 15734641, state=FINISHED, inuse=1, using=1
 INFO [main] (MulgaraInternalTransaction.java:728) - Dereferenced Transaction: 15734641, state=FINISHED, inuse=1, using=0
 INFO [main] (MulgaraInternalTransaction.java:728) - Committed transaction: 15734641, state=FINISHED, inuse=1, using=0
 INFO [main] (MulgaraInternalTransaction.java:728) - Executed TransactionOperation: 15734641, state=FINISHED, inuse=0, using=0
 INFO [main] (MulgaraInternalTransaction.java:728) - Creating Transaction: 5569009, state=null, inuse=0, using=0
 INFO [main] (MulgaraInternalTransaction.java:728) - Finished Creating Transaction: 5569009, state=CONSTRUCTEDUNREF, inuse=0, using=0
 INFO [main] (MulgaraInternalTransaction.java:728) - Referencing Transaction: 5569009, state=CONSTRUCTEDUNREF, inuse=0, using=0
 INFO [main] (MulgaraInternalTransaction.java:728) - Leaving Reference Transaction: 5569009, state=CONSTRUCTEDREF, inuse=0, using=0
 INFO [main] (DatabaseSession.java:554) - Closing session
 INFO [main] (MulgaraInternalTransaction.java:728) - Executing TransactionOperation: 5569009, state=CONSTRUCTEDREF, inuse=0, using=0
 INFO [main] (MulgaraInternalTransaction.java:728) - Initiating transaction: 5569009, state=CONSTRUCTEDREF, inuse=0, using=0
 INFO [main] (MulgaraInternalTransactionFactory.java:283) - Beginning Transaction
 INFO [main] (MulgaraInternalTransaction.java:728) - Implicit Rollback triggered: 5569009, state=ACTREF, inuse=1, using=1
 INFO [main] (MulgaraInternalTransaction.java:728) - Leaving implicitRollback: 5569009, state=FAILED, inuse=1, using=1
 INFO [main] (MulgaraInternalTransaction.java:728) - Executed TransactionOperation: 5569009, state=FAILED, inuse=1, using=1
 INFO [main] (DatabaseSession.java:186) - Constructing DatabaseSession: externalResolverFactoryMap={jar=org.mulgara.resolver.jar.JarResolverFactory at 1f82982, https=org.mulgara.resolver.http.HttpResolverFactory at 3ef810, http=org.mulgara.resolver.http.HttpResolverFactory at 3ef810, file=org.mulgara.resolver.file.FileResolverFactory at 1bbd23f} internalResolverFactoryMap={http://mulgara.org/mulgara#XMLSchemaModel=org.mulgara.resolver.InternalResolverFactory@30d82d, http://mulgara.org/mulgara#Model=org.mulgara.resolver.InternalSystemResolverFactory@186df0f, http://mulgara.org/mulgara#PrefixModel=org.mulgara.resolver.InternalResolverFactory@9446e4, http://mulgara.org/mulgara#LuceneModel=org.mulgara.resolver.InternalResolverFactory@136a43c, http://mulgara.org/mulgara#RelationalModel=org.mulgara.resolver.InternalResolverFactory@6fa9fc, http://topazproject.org/models#StringCompare=org.mulgara.resolver.InternalResolverFactory@100ebec, http://mulgara.org/mulgara#TypeModel=org.mulgara.resolver.InternalResolverFactory@e70e30, http://mulgara.org/mulgara#FileSystemModel=org.mulgara.resolver.InternalResolverFactory@d09ad3, http://mulgara.org/mulgara#ViewModel=org.mulgara.resolver.InternalResolverFactory@1e232b5} metadata=org.mulgara.resolver.DatabaseMetadataImpl at 153f67e
 INFO [main] (DatabaseSession.java:523) - setAutoCommit(false) called.


  Cheers,

  Ronald




More information about the Mulgara-general mailing list