You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Joerg Hoh (Jira)" <ji...@apache.org> on 2025/11/11 13:59:00 UTC

[jira] [Created] (JCRVLT-826) Redundant check for protected properties in Vault?

Joerg Hoh created JCRVLT-826:
--------------------------------

             Summary: Redundant check for protected properties in Vault?
                 Key: JCRVLT-826
                 URL: https://issues.apache.org/jira/browse/JCRVLT-826
             Project: Jackrabbit FileVault
          Issue Type: Task
    Affects Versions: 4.1.4
            Reporter: Joerg Hoh


On import filevault checks every property that it's not protected. This check can be quite expensive, as it needs to load the nodetype definition etc.

{noformat}
        at org.apache.jackrabbit.vault.util.EffectiveNodeType.getApplicablePropertyDefinition(EffectiveNodeType.java:112)
        at org.apache.jackrabbit.vault.fs.impl.io.DocViewImporter.isPropertyProtected(DocViewImporter.java:1254)
        at org.apache.jackrabbit.vault.fs.impl.io.DocViewImporter.lambda$removeProtectedProperties$6(DocViewImporter.java:1228)
        at org.apache.jackrabbit.vault.fs.impl.io.DocViewImporter$$Lambda/0x000000080198c220.test(Unknown Source)
        at java.util.stream.ReferencePipeline$2$1.accept(java.base@21.0.2/ReferencePipeline.java:178)
        at java.util.Iterator.forEachRemaining(java.base@21.0.2/Iterator.java:133)
        at java.util.Spliterators$IteratorSpliterator.forEachRemaining(java.base@21.0.2/Spliterators.java:1939)
        at java.util.stream.AbstractPipeline.copyInto(java.base@21.0.2/AbstractPipeline.java:509)
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(java.base@21.0.2/AbstractPipeline.java:499)
        at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(java.base@21.0.2/ReduceOps.java:921)
        at java.util.stream.AbstractPipeline.evaluate(java.base@21.0.2/AbstractPipeline.java:234)
        at java.util.stream.ReferencePipeline.collect(java.base@21.0.2/ReferencePipeline.java:682)
        at org.apache.jackrabbit.vault.fs.impl.io.DocViewImporter.removeProtectedProperties(DocViewImporter.java:1242)
        at org.apache.jackrabbit.vault.fs.impl.io.DocViewImporter.updateExistingNode(DocViewImporter.java:1082)
        at org.apache.jackrabbit.vault.fs.impl.io.DocViewImporter.addNode(DocViewImporter.java:956)
{noformat}

But at the same time Oak also does the same checks when properties are actually set. 

We should check if it makes sense to rely only on Oak for these checks, and let FileVault handle the exceptions caused by trying to set protected properties. 




--
This message was sent by Atlassian Jira
(v8.20.10#820010)