Hello everybody

I am running into problems with JBoss pools and Tyrex. This time it is a
2pc hueristic commit issue.

When Tyrex commits a distributed transaction in 2pc, it asks all the
subordinate transactions to commit which ask their local XAResources to
commit.

Minerva on a commit call disassociates itself from the transaction (sets
current to null).

Tyrex upon getting successful commits from the XAResources, being in 2pc
sets heuristic to COMMIT and asks the XAResources to forget() the
transaction.

Minerva throws an exception because it already disassociated itself from
the transaction (i.e. current == null while id is not null). Also, minerva
assumes that the forget() is always called when a commit() or rollback()
have failed. Well, this is not really true, forget can get called during a
heuristic commit as in the case described above.

Anyone can suggest to me where I could find out what is the correct
semantics of the API? I've tried the jta spec but could not see anything
conclusive. Any idea how minerva should handle this properly?

Also, as a side issue, the jta spec says that the XAResources should
support sharing (3.4.6) which seems to be lacking from the minerva (JBoss
pool) implementation? Am I making a mistake here?

-------------------------------------------------------------------------
Anatoly Akkerman
Computer Science Dept.
Courant Institute of Mathematical Sciences, NYU
719 Broadway, #715                      Tel: 212 998-3525
New York, NY 10003                      Fax: 212 995-4123
-------------------------------------------------------------------------


_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to