<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi Jonathan,<div><br></div><div>We're thinking about doing some significant changes/improvements around transactions[1]. I'd like to pick your brain especially on improvement #1, as this changes the way we acquire locks quite a bit.</div><div><br></div><div>With this new locking approach, we don't acquire WL for a transaction until prepare phase. On each write we keep a copy of the written key on the node where transaction is executed so that each subsequent access, in the same transaction, would read/update this copy. Same goes for reads.</div><div>When transaction commits we acquire WL during prepare time. This looks to me very similar to the optimistic CC, just that there's no conflict verification before commit.</div><div>Also, it seems to preserve repeatable read transaction isolation correctly.</div><div>This is a very significant change in our transaction model - do you see any problems/suggestions around it?</div><div><br></div><div>Cheers,</div><div>Mircea </div><div> </div><div><br></div><div>[1] <a href="http://community.jboss.org/wiki/PossibleLockingImprovements">http://community.jboss.org/wiki/PossibleLockingImprovements</a></div></body></html>