-
1. Re: Remote txn inflow: branch qualifier different in different transaction manager instance
mmusgrov Oct 24, 2011 6:04 AM (in response to tomjenkinson)Is this in the context of a single transaction. If so then using a different branch qualifier means that the resource manager will treat the accesses as though they were in different transactions. The consequence is contention/deadlock on the resource locks. Or have I misunderstood the issue?
-
2. Re: Remote txn inflow: branch qualifier different in different transaction manager instance
tomjenkinson Oct 24, 2011 6:16 AM (in response to mmusgrov)Hi Mike,
You are correct that the resource manager will get different branch qualifiers for the same XA resource at the different servers - it will get the same branch qualifier at any single server (even during reentry), e.g. for node flow of 1,2,3,2 the bqual for the XA resource at 2 would be the same for both flows but it would be different at nodes 1 and 3).
Tom
-
3. Re: Remote txn inflow: branch qualifier different in different transaction manager instance
mmusgrov Oct 24, 2011 6:48 AM (in response to tomjenkinson)You are correct that the resource manager will get different branch qualifiers for the same XA resource at the different servers - it will get the same branch qualifier at any single server (even during reentry), e.g. for node flow of 1,2,3,2 the bqual for the XA resource at 2 would be the same for both flows but it would be different at nodes 1 and 3).
OK, but that does mean that accesses to the resource manager from nodes 1 and 3 will be treated as a separate global transaction with respect to isolation - ie work done, and locks taken, at node 1 won't be seen at node 3 (search for loosely-coupled in the X/Open XA spec for where this is covered).
Since the remoting protocol is not demanded by the JTA spec, is it the case that the issue I raise is a non-issue?
-
4. Re: Remote txn inflow: branch qualifier different in different transaction manager instance
tomjenkinson Oct 24, 2011 7:03 AM (in response to mmusgrov)Hi Mike,
I wouldn't describe it as a non-issue per se. Perhaps more an uncaptured requirement (if required) or an undocumented feature (if not required), either way, although it is inconsistent with JTA I suspect it won't make it into the initial version. If you do think it might be vital (from a user expectation point of view) you can raise it as a child of JBTM-895, alternatively someone (either distributed EJB or transactions) must document this restriction.
Tom