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 "Thomas Mueller (JIRA)" <ji...@apache.org> on 2015/09/11 11:07:46 UTC

[jira] [Created] (OAK-3393) NodeStore wrapper implementation

Thomas Mueller created OAK-3393:
-----------------------------------

             Summary: NodeStore wrapper implementation
                 Key: OAK-3393
                 URL: https://issues.apache.org/jira/browse/OAK-3393
             Project: Jackrabbit Oak
          Issue Type: Improvement
            Reporter: Thomas Mueller


I would like to have a node store wrapper implementation. Initial use cases:

* logging (log all NodeStore API calls, possibly with a filter, to be analyzed later)
* statistics (counting the number of calls, possibly by path)
* profiling (measuring how long calls take)

Later use cases:

* SegmentStore compaction
* on-the-fly migration from one nodestore to another
* maybe: virtual repository (mounting node stores)

I made a first prototype, and found some problems with the NodeStore API and the way we have used it in Oak. Repository initialization fails with an IllegalArgumentException if the NodeBuilder does not extend MemoryNodeBuilder. Also, I have trouble understanding some of the methods (for example rebase, merge). I think the NodeStore API is much much harder to wrap than (for example) the DataStore API. I think we should fix that, to make Oak more modular.



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