[ https://issues.apache.org/jira/browse/OAK-6220?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16011886#comment-16011886 ]
Marcel Reutegger commented on OAK-6220: --------------------------------------- The DocumentNodeStore implementation does not support multiple builders off a branched node state. See also OAK-1838. This is most likely the reason why some tests fail. I would rather solve this by composition. Take any NodeStore implementation (unaware of CoW) and layer a CoW NodeStore implementation on top of it. It would be yet another option in the nstab proposal (e.g. volatile). The CoW NodeStore could be based on a checkpoint which is created on startup and released on shutdown. I think the existing MemoryNodeStore already supports this to some degree. It's in-memory only and does not expose the checkpoints of an underlying store, but it can be based on any NodeState. > Copy on write node store implementation > --------------------------------------- > > Key: OAK-6220 > URL: https://issues.apache.org/jira/browse/OAK-6220 > Project: Jackrabbit Oak > Issue Type: New Feature > Components: core > Reporter: Tomek Rękawek > Fix For: 1.8 > > Attachments: OAK-6220-2.patch, OAK-6220.patch > > > The copy-on-write (COW) node store implementation would allow to temporarily > switch the repository into the "testing" mode, in which all the changes are > saved in a reversible way. After switching back to the "production" mode, the > test changes should be dropped. > This should include checkpoints as well. > Because the SegmentNodeStore supports COW natively, we may simply copy the / > tree to some user-provided path and use it as a new root. For the > DocumentNodeStore we'll need something more complex. -- This message was sent by Atlassian JIRA (v6.3.15#6346)