[
https://issues.apache.org/jira/browse/JCRVLT-822?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Joerg Hoh updated JCRVLT-822:
-----------------------------
Fix Version/s: 4.1.2
> avoid costly check if a property is protected
> ---------------------------------------------
>
> Key: JCRVLT-822
> URL: https://issues.apache.org/jira/browse/JCRVLT-822
> Project: Jackrabbit FileVault
> Issue Type: Improvement
> Components: vlt
> Reporter: Joerg Hoh
> Assignee: Joerg Hoh
> Priority: Major
> Fix For: 4.1.2
>
>
> In the DocViewImporter.updateExistingNode(), there is this check:
> {noformat}
> if (!p.getDefinition().isProtected()
> && !ni.hasProperty(npResolver.getQName(propName))
> && !preserveProperties.contains(p.getPath())
> && wspFilter.includesProperty(p.getPath())) {
> {noformat}
> ([Github|https://github.com/apache/jackrabbit-filevault/blob/ee17857b51bced6e99233a9c52b30cd6074fb28a/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/impl/io/DocViewImporter.java#L1071-L1074])
> the check if a property is protected is quite expensive, as it requires the
> EffectiveNodeType to be calculated, so it can be checked if the property is
> protected. It would make sense to move this check to a later position of
> these 4 conditions, and move the 2nd check for the first position, as it's
> cheaper to check; assuming that it will returns true not for all of the
> cases, the "is property protected" will be executed less frequently.
> When I tested this locally, the re-installation of a already installed
> package (that means: no changes at all) went down from 51 seconds to 43
> seconds.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)