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 "Tomek Rękawek (JIRA)" <ji...@apache.org> on 2017/07/27 06:41:00 UTC

[jira] [Commented] (OAK-6445) Ensure mounted node stores don't contain versionable nodes

    [ https://issues.apache.org/jira/browse/OAK-6445?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16102792#comment-16102792 ] 

Tomek Rękawek commented on OAK-6445:
------------------------------------

[~rombert] - maybe we can be more general here and check whether there are no cross-mount references? It'll cover the versionables (as creating a versionable creates a reference between version storage and the node) and other unsupported cases. It'd be good to re-use CrossMountReferenceValidator to do this, sth like:

{code}
boolean failOnDetection = true;
NodeState root = compositeNodeStore.getRoot();
new EditorHook(() -> new CrossMountReferenceValidator(root, mip, failOnDetection)).processCommit(EmptyNodeState.EMPTY_NODE, root);
{code}

Also, I thought that we may create some mechanism to check if the mount configuration has changed and perform the test only then (as it may be a bit long). Eg. we may give each node store an unique id (eg. {{/:composite-id}}), save the mount name->id mapping locally (whatever this means) and check if it didn't changed during the CompositeNodeStore creation. Other tests can reuse this.

About saving the mapping locally, I see a few options:

* static file inside the repository dir,
* OSGi configuration,
* local segment store, meant to save metadata (eg. composite node store may require creating a segment node store with role = composite-metadata).

WDYT?

> Ensure mounted node stores don't contain versionable nodes
> ----------------------------------------------------------
>
>                 Key: OAK-6445
>                 URL: https://issues.apache.org/jira/browse/OAK-6445
>             Project: Jackrabbit Oak
>          Issue Type: Sub-task
>          Components: composite
>            Reporter: Robert Munteanu
>            Assignee: Robert Munteanu
>             Fix For: 1.8, 1.7.5
>
>
> Since versioning does not work with the CompositeNodeStore mounts, we should validate that no versionable nodes exist at mount time.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)