You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by fr...@apache.org on 2018/04/04 14:49:48 UTC

svn commit: r1828353 - in /jackrabbit/oak/trunk/oak-core/src: main/java/org/apache/jackrabbit/oak/plugins/commit/MergingNodeStateDiff.java test/java/org/apache/jackrabbit/oak/plugins/commit/ThreeWayConflictHandlerTest.java

Author: frm
Date: Wed Apr  4 14:49:47 2018
New Revision: 1828353

URL: http://svn.apache.org/viewvc?rev=1828353&view=rev
Log:
OAK-7388 - Don't inadvertently re-create previously deleted nodes

Modified:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/commit/MergingNodeStateDiff.java
    jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/commit/ThreeWayConflictHandlerTest.java

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/commit/MergingNodeStateDiff.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/commit/MergingNodeStateDiff.java?rev=1828353&r1=1828352&r2=1828353&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/commit/MergingNodeStateDiff.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/commit/MergingNodeStateDiff.java Wed Apr  4 14:49:47 2018
@@ -35,13 +35,12 @@ import java.util.Set;
 
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.Sets;
-
 import org.apache.jackrabbit.oak.api.PropertyState;
 import org.apache.jackrabbit.oak.json.JsopDiff;
 import org.apache.jackrabbit.oak.plugins.memory.PropertyBuilder;
 import org.apache.jackrabbit.oak.plugins.tree.TreeConstants;
-import org.apache.jackrabbit.oak.spi.commit.ThreeWayConflictHandler.Resolution;
 import org.apache.jackrabbit.oak.spi.commit.ThreeWayConflictHandler;
+import org.apache.jackrabbit.oak.spi.commit.ThreeWayConflictHandler.Resolution;
 import org.apache.jackrabbit.oak.spi.state.ChildNodeEntry;
 import org.apache.jackrabbit.oak.spi.state.ConflictAnnotatingRebaseDiff;
 import org.apache.jackrabbit.oak.spi.state.ConflictType;
@@ -95,7 +94,9 @@ public final class MergingNodeStateDiff
 
     @Override
     public boolean childNodeChanged(String name, NodeState before, NodeState after) {
-        merge(before, after, target.child(name), conflictHandler);
+        if (target.hasChildNode(name)) {
+            merge(before, after, target.getChildNode(name), conflictHandler);
+        }
         return true;
     }
 

Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/commit/ThreeWayConflictHandlerTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/commit/ThreeWayConflictHandlerTest.java?rev=1828353&r1=1828352&r2=1828353&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/commit/ThreeWayConflictHandlerTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/commit/ThreeWayConflictHandlerTest.java Wed Apr  4 14:49:47 2018
@@ -38,7 +38,6 @@ import org.apache.jackrabbit.oak.spi.sta
 import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
 import org.apache.jackrabbit.oak.spi.state.NodeState;
 import org.junit.Assert;
-import org.junit.Ignore;
 import org.junit.Test;
 
 public class ThreeWayConflictHandlerTest {
@@ -289,7 +288,6 @@ public class ThreeWayConflictHandlerTest
     }
 
     @Test
-    @Ignore("OAK-7388")
     public void deletedNodesShouldNotBeRecreated() throws Exception {
         NodeState root = EmptyNodeState.EMPTY_NODE;