[
https://issues.apache.org/jira/browse/OAK-9134?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17159765#comment-17159765
]
José Andrés Cordero Benítez commented on OAK-9134:
--------------------------------------------------
Added a new patch [^OAK-9134-remove-referenceable-frozenNode-2.patch]
I haven't added a check to see if the built-in nodetypes are already registered
because the last argument of the method *CndImporter.registerNodeTypes* sets if
the definitions will be rewrited or not, and it is set to false when importing
the cnd file:
I have added the system property *oak.referenceableFrozenNode* to control if
the repository is initialized or not with nt:frozenNode implementing
mix:referenceable.
Finally, the solution I have implemented edits internally the inputStream of
the *builtin_nodetypes.cnd* file, which I don't think is an elegant solution,
but I wanted to avoid editing the *CndImporter.registerNodeTypes* which belongs
to Jackrabbit.
> Remove mix:referenceable from nt:frozenNode definition
> ------------------------------------------------------
>
> Key: OAK-9134
> URL: https://issues.apache.org/jira/browse/OAK-9134
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Components: core, jcr
> Reporter: José Andrés Cordero Benítez
> Priority: Minor
> Labels: patch
> Attachments: OAK-9134-remove-referenceable-from-test.patch,
> OAK-9134-remove-referenceable-frozenNode-2.patch,
> OAK-9134-remove-referenceable-frozenNode.patch
>
>
> One of the changes between JCR 1.0 and JCR 2.0 is the definition of
> nt:frozenNode. In JCR 1.0 the node type extends from mix:referenceable, while
> in JCR 2.0 it does [not
> anymore|https://docs.adobe.com/docs/en/spec/jcr/2.0/3_Repository_Model.html#3.13.4.1%20nt:frozenNode].
> Oak currently uses a nt:frozenNode definition that extends from
> mix:referenceable. This adds quite a bit of overhead because each node
> written under a JCR version gets a jcr:uuid, which is indexed by default.
> The proposal is to remove the supertype "mix:referenceable" from
> nt:frozenNode.
> Removing this supertype, the frozenNodes wouldn't have a "jcr:uuid" field,
> which at the end is not used, and allows to reduce the size of the index.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)