jackrabbit-oak-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Dürig <mdue...@apache.org>
Subject Re: oak-api and move operations
Date Tue, 03 Apr 2012 10:51:27 GMT

On 3.4.12 11:35, Thomas Mueller wrote:
> Hi,
>>>> There is not more merging
>>>> to be done by the Microkernel as it already does.
>>> Currently, commit calls can be easily synchronized in the MicroKernel
>>> implementation. If you want to achieve a similar isolation with branch()
>>> and merge(), then a branch() would block other commits (and branch
>>> calls)
>>> until the merge() call.
>> I can't follow you here. Why would that be necessary?
> To achieve the same isolation as we have now.
>> That would work I guess. One remaining problem is
>>> then the ability to "undo" (rollback) a branch. I guess there should be
>>> a
>>> method for that ("revert").
>> Why do we need a rollback?
> To undo a branch, so that others can commit.
>> Another remaining problem is that each
>>> MicroKernel implementation would need to support transactions that span
>>> multiple calls (similar to 2-phase commits or transaction savepoints).
>> Again why?
> Branching might not be easy to support in the MicroKernel implementation.
> If branching is actually implemented as "start a transaction", then a
> commit (within a branch) could be implemented as a savepoint. A commit in
> a branch wouldn't result in transaction commit.

Tom, I think you are still miss reading things. This has nothing to do 
with transactions, 2 phase commit, isolation, etc. It is just a way how 
transient changes can be stored (written ahead) instead of kept in memory.


View raw message