On 16 Dec 2010, at 14:19, Mark Little wrote:
On 16 Dec 2010, at 10:51, Manik Surtani wrote:
> Ah right, I get your point. So there are 2 cases:
>
> 1) When the failing resource manager is *not* an Infinispan node: returning a list of
prepared or heuristically committed Xids is trivial for Infinispan since (a) we maintain
an internal list of prepared txs, and (b) we don't heuristically commit. (Mircea can
confirm this)
>
> 2) When the failing resource manager is an Infinispan node (failed and restarted, for
example), and the TM calls recover on this node. In this case, recover will return a
null, which, correctly, will lead the TM to believe that there are no prepared or
heuristically committed txs on this node - which is correct, since the node would have
been reset to the last-known stable state prior to the failure.
Does recover return a list of Xids for active (inflight) resources? Since recover can be
called at any time, it's possible that the Xids may/can point to resources that have
not failed.
The thing to remember is that the transaction manager may fail independently of the
resource manager. Do you think that the implementation you've got at the moment will
be fine in that circumstance?
Yes, this is case (1), as I had outlined earlier. We don't deal with this at the
moment and you're right that we should. There is an open JIRA for this.
Cheers
Manik
--
Manik Surtani
manik(a)jboss.org
twitter.com/maniksurtani
Lead, Infinispan
http://www.infinispan.org