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)