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)

Reply via email to