jackrabbit-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Jackrabbit Wiki] Update of "Transactional model of the Microkernel based Jackrabbit prototype" by stefan
Date Thu, 01 Dec 2011 13:27:13 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Jackrabbit Wiki" for change notification.

The "Transactional model of the Microkernel based Jackrabbit prototype" page has been changed
by stefan:
http://wiki.apache.org/jackrabbit/Transactional%20model%20of%20the%20Microkernel%20based%20Jackrabbit%20prototype?action=diff&rev1=4&rev2=5

- The [[http://svn.apache.org/viewvc/jackrabbit/sandbox/microkernel/ | MicroKernel]] based
JCR implementation uses snapshot isolation with a relaxed first committer wins [1] strategy.
That is, on login each session is under the impression of operating on its own copy of the
repository. Modifications from other sessions do not affect the current session. With the
relaxed first committer wins strategy a later session will fail on save when it contains operations
which are incompatible with the operations of an earlier session which saved successfully.
This is different from the standard first committer wins strategy where failure would occur
on conflicting operations rather than on incompatible operations. Incompatible is weaker than
conflict since two write operation on the same item do conflict but are not incompatible.
The details of what incompatible means are implemented in the [[http://svn.apache.org/viewvc/jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/store/CommitBuilder.java?view=markup
| MicroKernel's internal mergeNode method]].
+ The [[http://svn.apache.org/viewvc/jackrabbit/sandbox/microkernel/ | MicroKernel]] based
JCR implementation uses snapshot isolation with a relaxed first committer wins [1] strategy.
That is, on login each session is under the impression of operating on its own copy of the
repository. Modifications from other sessions do not affect the current session. With the
relaxed first committer wins strategy a later session will fail on save when it contains operations
which are incompatible with the operations of an earlier session which saved successfully.
This is different from the standard first committer wins strategy where failure would occur
on conflicting operations rather than on incompatible operations. Incompatible is weaker than
conflict since two write operation on the same item do conflict but are not incompatible.
The details of what incompatible means are implemented in the [[http://svn.apache.org/viewvc/jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/model/CommitBuilder.java?view=markup
| MicroKernel's internal mergeNode method]].
  
  Snapshot isolation exhibits write skew [1] which might turn out to be problematic for maintaining
consistency guarantees imposed by JCR. Consider the following events for node n which is initially
of type nt:unstructured:
  {{{

Mime
View raw message