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 mr...@apache.org on 2017/02/06 08:44:55 UTC

svn commit: r1781846 - in /jackrabbit/oak/trunk/oak-core/src: main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreBranchesTest.java

Author: mreutegg
Date: Mon Feb  6 08:44:55 2017
New Revision: 1781846

URL: http://svn.apache.org/viewvc?rev=1781846&view=rev
Log:
OAK-5557: incomplete diffManyChildren during commitHook evaluation in a persisted branch

Modified:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java
    jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreBranchesTest.java

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java?rev=1781846&r1=1781845&r2=1781846&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java Mon Feb  6 08:44:55 2017
@@ -2475,6 +2475,14 @@ public final class DocumentNodeStore
                                   RevisionVector toRev) {
         long minTimestamp = Utils.getMinTimestampForDiff(
                 fromRev, toRev, getMinExternalRevisions());
+        for (RevisionVector r : new RevisionVector[]{fromRev, toRev}) {
+            if (r.isBranch()) {
+                Branch b = branches.getBranch(r);
+                if (b != null) {
+                    minTimestamp = Math.min(b.getBase().getRevision(clusterId).getTimestamp(), minTimestamp);
+                }
+            }
+        }
         long minValue = NodeDocument.getModifiedInSecs(minTimestamp);
         String fromKey = Utils.getKeyLowerLimit(path);
         String toKey = Utils.getKeyUpperLimit(path);

Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreBranchesTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreBranchesTest.java?rev=1781846&r1=1781845&r2=1781846&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreBranchesTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreBranchesTest.java Mon Feb  6 08:44:55 2017
@@ -41,13 +41,11 @@ import org.apache.jackrabbit.oak.stats.C
 import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
-import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-@Ignore("OAK-5557")
 public class DocumentNodeStoreBranchesTest {
 
     static final Logger LOG = LoggerFactory.getLogger(DocumentNodeStoreBranchesTest.class);