Jonathan Halliday [
http://community.jboss.org/people/jhalliday] created the discussion
"Re: Remote txinflow: XID changes"
To view the discussion, visit:
http://community.jboss.org/message/632598#632598
--------------------------------------------------------------
But I'm not sure what you mean by "orphans" exactly -
aren't all branches normally recovered by the root? If so, does the subordinate path
actually matter?
An orphan is a prepared RM whose immediate parent has died without writing a log. Under
presumed abort it has got to be rolled back. Only the immediate parent can do that - NOT
the root (unless they are the same). The reason is simple: only the immediate parent can
recognize the orphan status, as it's a function of the absence of a log record at that
location. Also, in some deployments only the immediate parent may have the driver and
connection details to reach that orphan - they are not guaranteed to be available at the
root. Part of the reason that nodes need a uniq id is that encoding it into the Xid
allows them to recognize their own orphaned branches and likewise avoid tampering with
ones they don't own. You can actually eliminate the need for globally uniq id by
writing to the log twice - once before and once after preparing the RM, in which case you
don't get orphans any more. The cure is worse than the disease though - those log
writes to disk drop your performance to unacceptable levels.
--------------------------------------------------------------
Reply to this message by going to Community
[
http://community.jboss.org/message/632598#632598]
Start a new discussion in JBoss Transactions Development at Community
[
http://community.jboss.org/choose-container!input.jspa?contentType=1&...]