Red Hat Bugzilla – Bug 1018851
Rephrase text about distributed transactions
Last modified: 2014-11-23 18:16:23 EST
Title: About Distributed Transactions
I think that the text:
"About Distributed Transactions
A distributed transaction, or distributed Java Transaction API (JTA) transaction is a transaction with participants on multiple JBoss EAP 6 servers. Distributed transactions differ from Java Transaction Service (JTS) transactions in that the JTS specifications mandate that transactions be able to be distributed across application servers from different vendors. JBoss EAP 6 supports distributed JTA transactions."
is a bit misleading.
- it's not obvious what does the JTA abbreviation means - it seems that it means distributed java transaction api. At least the text "distributed Java Transaction API (JTA)" shows so. Would be possible to left just "A distrbuted transaction is a transaction..."?
- the distributed transaction is abit misleading term in fact. When you check the google then you will get e.g. this article:
the distributed transaction is here defined to be XA transactions.
It would be nice to describe here that XA transaction could be named as distributed transaction but in the view of the Narayana JBossTS the JTS transactions are understood under this term. The JTS transactions are described above in
Would be possible to rephrase whole paragraph to be more descriptive?
- related to the previous point - the phrase"Distributed transactions differ from Java Transaction Service (JTS)" is not true as the JTS transactions should be understood as distributed ones
- is it true that EAP6 supports distributed JTA transactions (at least it should be checked issue https://bugzilla.redhat.com/show_bug.cgi?id=952746)?
I would like to add some more ideas:
it would be fine to rephrase the paragraph based on the fact that the JTS transactions are distributed transactions. Plus add info that for JTS is TM coordinator started on each node + context propagated to nodes and there is just the propagated context for distributed JTA .
It's true that JTS specification talks about compatibility of JTS transactions among different vendors but in fact this compatibility is not a supported feature. This fact would be fine to somelike incorporate into the text.
Then I don't know what difference is between expression like: "EAP6 supports jta distributed transactions" and "jta distributed transactions are supported in EAP6". The second statement is not true for sure. EAP6 offers possibility to work with distributed jta transactions but currently with some limitation (bz952746). I'm not sure with that but I suppose that we do not support that feature.
I'm returning back this bz as I think that changes are not sufficient. I've checked the development guide in revision 6.3.0-27.
1) Sentence 'A distributed transaction, or distributed Java Transaction API (JTA) transaction' is still there. Please, remove the note about JTA. The sentence should be just like: ' A distributed transaction is a transaction with participants on ...'
2) Please, rewrite whole next sentence
'Distributed transactions differ from Java Transaction Service (JTS) transactions in that the JTS specifications mandate that transactions be able to be distributed across application servers from different vendors. JBoss EAP 6 supports distributed JTA transactions.'
The new more understandable meaning should be something like:
'Java Transaction Service (JTS) specification mandates that JTS transactions be able to be distributed across application servers from different vendors (transaction distribution among servers from different vendors is not supported feature). Java Transaction API (JTA) does define nothing like that but JBoss EAP 6 supports distributed JTA transactions among JBoss EAP6 servers.'
3) Add note about misleading terms of distributed transaction and XA transaction. Something like:
'In documentation of other app server vendors you can find that term distributed transaction means XA transaction. But in context of JBoss EAP 6 documentation the distributed transaction is understood being transaction distributed among more application servers. Transaction which consist from several different resources (e.g. database resource and jms resource) is named XA transaction in this doc. For more information see sections About Java Transaction Service (JTS) and About XA Datasources and XA Transactions.'
Verified on Revision 6.3.0-31