Hi Jonathan,
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.
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.
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.
Also, it seems to preserve repeatable read transaction isolation correctly.
This is a very significant change in our transaction model - do you see any
problems/suggestions around it?
Cheers,
Mircea
[1]
http://community.jboss.org/wiki/PossibleLockingImprovements