[infinispan-dev] Rehashing and ongoing transactions
Manik Surtani
manik at jboss.org
Mon Jan 31 16:24:41 EST 2011
Guys,
I see this in the code base:
https://github.com/infinispan/infinispan/blob/master/core/src/main/java/org/infinispan/interceptors/DistributionInterceptor.java#L247
which has come in as a part of this commit:
https://github.com/infinispan/infinispan/commit/e85204dc34e058c256846699acc21f4dd6f08c4d
This is no good, since throwing an IllegalStateException *after* a transaction has prepared and is attempting to commit will leave the transaction in an inconsistent state. This is why I see heuristic exceptions when trying to stress a lot of transactions while having nodes join/leave.
A few points:
1) Mircea, are you aware of this, and is this a part of the transaction refactoring you are working on?
2) If not, it probably should be. ;)
3) Vladimir, why is this check necessary in the first place? If prepares have happened on nodes A and B, and the commit should now go to nodes B and C due to a rehash, can't we send the commit to a union of A, B and C, and let the nodes that don't care about the tx anymore just ignore the commit?
Cheers
Manik
--
Manik Surtani
manik at jboss.org
twitter.com/maniksurtani
Lead, Infinispan
http://www.infinispan.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/infinispan-dev/attachments/20110131/098e881b/attachment.html
More information about the infinispan-dev
mailing list