Tom Jenkinson [
http://community.jboss.org/people/tomjenkinson] created the discussion
"Re: Remote txinflow: XID changes"
To view the discussion, visit:
http://community.jboss.org/message/633490#633490
--------------------------------------------------------------
Hi Mark,
The main issue with delivering this functionality is the additional 3 persistence points,
2 of which we have covered by providing an alternative XID implementation for proxies and
subordinates, 1 of which is optional anyway.
1. The optional persistence point: This persistence point seems to remain, though still
optional: when recovering, you need to know which servers to talk to to call recover on
for unprepared transactions, you could argue that transaction timeout is enough for this
and it then becomes an transport implementors prerogative whether to persist this
information (perhaps this is only done if the transport detects that the transaction does
not have a timeout).
2. Using alternative XID implementations for proxy XA resources (which have the
subordinate and parent node name in the bqual) and for subordinate transactions (which
needs subordinate, parent and parents parent) should remove the requirement to record XIDs
at a caller server. The reason that the subordinate needs three node names is because the
proxy xa resource is enlisted at node 2 say with with a bqual (2,1), it then needs to ask
the remote server (say 3) for all subordinate transaction XIDs that the server it is
running in as a parent are part of . It will then need to convert these Xids to one its
own local server understands was part of a transaction (by dropping the recovered Xids
subordinate node name and bumping the other two down a notch - i.e. converting a bqual of
3,2,1 to 2,1). Unfortunately, the bqual of the subordinate JTA transactions will have a
bqual length over 64 bytes, so this does still need investigation to see how different
objectstores cope with this.
3. The normal XID will need to be changed to have the String node identifier used in the
bqual and alongside a shortened EIS name, this will get rid of the requirement for dynamic
subordinate node allocation, it is relatively painless but will need Jonathans buy in as
it will be impacting funtionality (EIS name) that he has provided.
Of course, in reality I have parked this till after I get back from paternity ;)
Tom
--------------------------------------------------------------
Reply to this message by going to Community
[
http://community.jboss.org/message/633490#633490]
Start a new discussion in JBoss Transactions Development at Community
[
http://community.jboss.org/choose-container!input.jspa?contentType=1&...]