[jira] Commented: (JCR-1046) Non-versionable children of a versionable node should not be updated when a merge fails

2008-02-05 Thread Jukka Zitting (JIRA)

[ 
https://issues.apache.org/jira/browse/JCR-1046?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12565682#action_12565682
 ] 

Jukka Zitting commented on JCR-1046:


Merged to the 1.4 branch in revision 618599.

 Non-versionable children of a versionable node should not be updated when a 
 merge fails
 ---

 Key: JCR-1046
 URL: https://issues.apache.org/jira/browse/JCR-1046
 Project: Jackrabbit
  Issue Type: Bug
  Components: versioning
Affects Versions: 1.3, 1.3.1, 1.3.3, 1.4
Reporter: Bob Wieler
Assignee: Tobias Bocanegra
 Fix For: 1.4.1

 Attachments: jcr1046.diff


 The JCR specification (JSR-170) includes a merge algorithm that is 
 inconsistent with the functionality described elsewhere in the JCR 
 specification. Specifically from JSR-170 section 8.2.10 Merge:
 In either case, (regardless of whether bestEffort is true or false) for each 
 non-versionable node (including both referenceable and non-referenceable), if 
 the merge result of its nearest versionable ancestor is update, or if it has 
 no versionable ancestor, then it is updated to reflect the state of its 
 corresponding node. Otherwise, it is left unchanged.
 The algorithm presented in 8.2.10.1 of the specification goes against the 
 above statement as it does not take into consideration the merge result of 
 the nearest versionable ancestor.
 One solution would be to have the doLeave(n) call that dofail(n, v') calls 
 altered to only perform a merge on the versionable children rather than all 
 of the children. The merging of all children (versionable and 
 non-versionable) should only be done if the nearest parent is not in a failed 
 merge state regardless of whether the failure occurred from the current merge 
 operation or a previous merge operation.
 I will attach a patch file that makes what I think is the required change.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (JCR-1046) Non-versionable children of a versionable node should not be updated when a merge fails

2008-01-16 Thread Bob Wieler (JIRA)

[ 
https://issues.apache.org/jira/browse/JCR-1046?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12559668#action_12559668
 ] 

Bob Wieler commented on JCR-1046:
-

The fix I supplied for this should actually only merge non-versionable children 
if the result of the merge is a fail or a leave, not just if it is a failure. 
Otherwise, non-versionable children will always be merged regardless of the 
merge status of the nearest versionable parent.

I will update the attached diff with a different proposed fixed. More 
information on this issue can be found in JCR-1314.


 Non-versionable children of a versionable node should not be updated when a 
 merge fails
 ---

 Key: JCR-1046
 URL: https://issues.apache.org/jira/browse/JCR-1046
 Project: Jackrabbit
  Issue Type: Bug
  Components: versioning
Affects Versions: 1.3
Reporter: Bob Wieler
 Attachments: jcr1046.diff


 The JCR specification (JSR-170) includes a merge algorithm that is 
 inconsistent with the functionality described elsewhere in the JCR 
 specification. Specifically from JSR-170 section 8.2.10 Merge:
 In either case, (regardless of whether bestEffort is true or false) for each 
 non-versionable node (including both referenceable and non-referenceable), if 
 the merge result of its nearest versionable ancestor is update, or if it has 
 no versionable ancestor, then it is updated to reflect the state of its 
 corresponding node. Otherwise, it is left unchanged.
 The algorithm presented in 8.2.10.1 of the specification goes against the 
 above statement as it does not take into consideration the merge result of 
 the nearest versionable ancestor.
 One solution would be to have the doLeave(n) call that dofail(n, v') calls 
 altered to only perform a merge on the versionable children rather than all 
 of the children. The merging of all children (versionable and 
 non-versionable) should only be done if the nearest parent is not in a failed 
 merge state regardless of whether the failure occurred from the current merge 
 operation or a previous merge operation.
 I will attach a patch file that makes what I think is the required change.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (JCR-1046) Non-versionable children of a versionable node should not be updated when a merge fails

2008-01-16 Thread Tobias Bocanegra (JIRA)

[ 
https://issues.apache.org/jira/browse/JCR-1046?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12559687#action_12559687
 ] 

Tobias Bocanegra commented on JCR-1046:
---

yes, i think your (latest) patch is correct. thanks for finding this!

 Non-versionable children of a versionable node should not be updated when a 
 merge fails
 ---

 Key: JCR-1046
 URL: https://issues.apache.org/jira/browse/JCR-1046
 Project: Jackrabbit
  Issue Type: Bug
  Components: versioning
Affects Versions: 1.3
Reporter: Bob Wieler
Assignee: Tobias Bocanegra
 Attachments: jcr1046.diff


 The JCR specification (JSR-170) includes a merge algorithm that is 
 inconsistent with the functionality described elsewhere in the JCR 
 specification. Specifically from JSR-170 section 8.2.10 Merge:
 In either case, (regardless of whether bestEffort is true or false) for each 
 non-versionable node (including both referenceable and non-referenceable), if 
 the merge result of its nearest versionable ancestor is update, or if it has 
 no versionable ancestor, then it is updated to reflect the state of its 
 corresponding node. Otherwise, it is left unchanged.
 The algorithm presented in 8.2.10.1 of the specification goes against the 
 above statement as it does not take into consideration the merge result of 
 the nearest versionable ancestor.
 One solution would be to have the doLeave(n) call that dofail(n, v') calls 
 altered to only perform a merge on the versionable children rather than all 
 of the children. The merging of all children (versionable and 
 non-versionable) should only be done if the nearest parent is not in a failed 
 merge state regardless of whether the failure occurred from the current merge 
 operation or a previous merge operation.
 I will attach a patch file that makes what I think is the required change.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.