You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Marcel Reutegger (JIRA)" <ji...@apache.org> on 2014/09/23 10:50:33 UTC

[jira] [Created] (OAK-2120) Simplify BranchStates

Marcel Reutegger created OAK-2120:
-------------------------------------

             Summary: Simplify BranchStates
                 Key: OAK-2120
                 URL: https://issues.apache.org/jira/browse/OAK-2120
             Project: Jackrabbit Oak
          Issue Type: Improvement
          Components: core
            Reporter: Marcel Reutegger
            Assignee: Marcel Reutegger
            Priority: Minor


Transitions between the various BranchStates are documented for each of the state classes in AbstractNodeStoreBranch. I'd like to simplify some of the states and remove transitions that can be expensive.

E.g. Persisted.setRoot() may transition to Unmodified if the given root state equals the base state. This makes sense, but is unlikely to happen on a real life system. At least with the DocumentNodeStore the equals comparison of base and root in setRoot() can become rather expensive if there had been many branch commits already.

I propose to remove the transition back to Unmodified. I don't see a compelling reason or requirement to perform this check at this stage. The branch could simply stay in the Persisted state and leave it up to the underlying NodeStore implementation to optimize the case where subsequent branch commits 'undo' previous changes.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)