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 2015/12/16 13:22:51 UTC
svn commit: r1720343 - in /jackrabbit/oak/trunk/oak-core/src:
main/java/org/apache/jackrabbit/oak/plugins/document/NodeDocument.java
test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreTest.java
Author: mreutegg
Date: Wed Dec 16 12:22:51 2015
New Revision: 1720343
URL: http://svn.apache.org/viewvc?rev=1720343&view=rev
Log:
OAK-3798: NodeDocument.getNewestRevision() incorrect when there are previous documents
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/NodeDocument.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreTest.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/NodeDocument.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/NodeDocument.java?rev=1720343&r1=1720342&r2=1720343&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/NodeDocument.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/NodeDocument.java Wed Dec 16 12:22:51 2015
@@ -757,6 +757,15 @@ public final class NodeDocument extends
clusterIds.add(prevRev.getClusterId());
}
}
+ if (!clusterIds.isEmpty()) {
+ // add clusterIds of local changes as well
+ for (Revision r : getLocalCommitRoot().keySet()) {
+ clusterIds.add(r.getClusterId());
+ }
+ for (Revision r : getLocalRevisions().keySet()) {
+ clusterIds.add(r.getClusterId());
+ }
+ }
}
// if we don't have clusterIds, we can use the local changes only
boolean fullScan = true;
@@ -786,7 +795,8 @@ public final class NodeDocument extends
}
if (!fullScan) {
// check if we can stop going through changes
- if (clusterIds.contains(r.getClusterId())) {
+ if (isRevisionNewer(context, lower, r)
+ && newestRevs.containsKey(r.getClusterId())) {
if (isRevisionNewer(context, lower, r)) {
clusterIds.remove(r.getClusterId());
if (clusterIds.isEmpty()) {
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreTest.java?rev=1720343&r1=1720342&r2=1720343&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreTest.java Wed Dec 16 12:22:51 2015
@@ -349,7 +349,6 @@ public class DocumentNodeStoreTest {
}
// OAK-3798
- @Ignore("OAK-3798")
@Test
public void getNewestRevision2() throws Exception {
DocumentStore docStore = new MemoryDocumentStore();