[ https://issues.apache.org/jira/browse/JCRVLT-767?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17871883#comment-17871883 ]
Julian Reschke commented on JCRVLT-767: --------------------------------------- This {noformat} diff --git a/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/impl/io/DocViewImporter.java b/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/impl/io/DocViewImporter.java index 3572276b..a6e27742 100644 --- a/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/impl/io/DocViewImporter.java +++ b/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/impl/io/DocViewImporter.java @@ -989,8 +989,16 @@ public class DocViewImporter implements DocViewParserHandler { VersioningState vs = new VersioningState(stack, node); Node updatedNode = null; Optional<String> identifier = ni.getIdentifier(); + + String nodeUUID = null; + try { + nodeUUID = node.getUUID(); + } catch (RepositoryException ex) { + // node not referenceable + } + // try to set uuid via sysview import if it differs from existing one - if (identifier.isPresent() && !node.getIdentifier().equals(identifier.get()) && !"rep:root".equals(ni.getPrimaryType().orElse(""))) { + if (identifier.isPresent() && !identifier.get().equals(nodeUUID) && !"rep:root".equals(ni.getPrimaryType().orElse(""))) { long startTime = System.currentTimeMillis(); String previousIdentifier = node.getIdentifier(); log.debug("Node stashing for {} starting, existing identifier: {}, new identifier: {}, import mode: {}", {noformat} would fix is and still passes tests. > vlt: potential incorrect identifier comparison > ---------------------------------------------- > > Key: JCRVLT-767 > URL: https://issues.apache.org/jira/browse/JCRVLT-767 > Project: Jackrabbit FileVault > Issue Type: Bug > Components: vlt > Reporter: Julian Reschke > Priority: Minor > > In > https://github.com/apache/jackrabbit-filevault/blob/931ceef98513167af3218b773d9213e123a2f52d/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/impl/io/DocViewImporter.java#L993-L1007 > {noformat} > if (identifier.isPresent() && > !node.getIdentifier().equals(identifier.get()) && > !"rep:root".equals(ni.getPrimaryType().orElse(""))) { > long startTime = System.currentTimeMillis(); > String previousIdentifier = node.getIdentifier(); > log.debug("Node stashing for {} starting, existing identifier: > {}, new identifier: {}, import mode: {}", > node.getPath(), previousIdentifier, identifier.get(), > importMode); > {noformat} > However, Node.getIdentifer() will always be non-null - even for nodes without > mix:referenceable. > This means that we go into stashing although we don't have to. -- This message was sent by Atlassian Jira (v8.20.10#820010)