[ https://issues.apache.org/jira/browse/JCRVLT-598?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17552288#comment-17552288 ]
Julian Reschke edited comment on JCRVLT-598 at 1/8/24 11:08 AM: ---------------------------------------------------------------- Sounds good to me. Can we add logging, so that in - LEGACY mode, we can find in the log that the workaround was active ("INFO") - FAIL mode, log at ERROR level (maybe with a pointer with instructions how to enable the LEGACY behavior) In both cases, the log message should contain the package name, the paths and the UUID in conflict. was (Author: reschke): Sounds good to me. Can we add logging, so that in - LEGACY mode, we can find in the log that the workaround was active ("INFO") - FAIL mode, log at ERROR level (maybe with a pointer with instructions how to enabl the LEGACY behavior) In both cases, the log message should contain the package name, the paths and the UUID in conflict. > need IdConflictPolicy compatible with 3.5.0 behavior > ---------------------------------------------------- > > Key: JCRVLT-598 > URL: https://issues.apache.org/jira/browse/JCRVLT-598 > Project: Jackrabbit FileVault > Issue Type: Sub-task > Components: vlt > Affects Versions: 3.5.8 > Reporter: Julian Reschke > Assignee: Konrad Windszus > Priority: Major > Fix For: 3.6.4 > > Attachments: test-duplicate-referencable-on-child-element-only.zip, > test-referenceable.zip > > > Currently, according to the documentation > ([https://jackrabbit.apache.org/filevault/referenceablenodes.html]), > "IdConflictPolicy.FORCE_REMOVE_CONFLICTING_ID" is supposed to behave as 3.5.0 > did. > My tests show however that in 3.5.0, when importing a package with two nodes > with conflicting UUIDs, both nodes were imported (and one of the UUIDs > changed). > Update: It turned out that this is only the conflict handling for non-sibling > nodes, for sibling nodes the behaviour depends on whether the existing > conflicting node is contained in the filter or not. If the newly imported > node is a sibling of the existing conflicting it either removes the existing > node with the conflicting id but keep its references (in case the conflicting > one is contained in the filter) or skip the to be imported node (and continue > with importing its children as if they were below the existing one). > From that point of view, CREATE_NEW_ID seems to be closer (but that one > assigns new UUIDs to *both* nodes). > -Proposal: adjust CREATE_NEW_ID behavior to keep assigning a new UUID only > when needed (thus preserving it for one of the nodes), and document *that* > mode as compatible to 3.5.0.- > Updated Proposal: Create new IdConflictPolicy.LEGACY which replicates the > behaviour described above. -- This message was sent by Atlassian Jira (v8.20.10#820010)