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/05/08 11:31:43 UTC

svn commit: r1794332 - in /jackrabbit/oak/trunk/oak-core/src: main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoMissingLastRevSeeker.java test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoMissingLastRevSeekerTest.java

Author: mreutegg
Date: Mon May  8 11:31:42 2017
New Revision: 1794332

URL: http://svn.apache.org/viewvc?rev=1794332&view=rev
Log:
OAK-6181: MongoMissingLastRevSeeker may return incomplete candidate set

Modified:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoMissingLastRevSeeker.java
    jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoMissingLastRevSeekerTest.java

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoMissingLastRevSeeker.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoMissingLastRevSeeker.java?rev=1794332&r1=1794331&r2=1794332&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoMissingLastRevSeeker.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoMissingLastRevSeeker.java Mon May  8 11:31:42 2017
@@ -60,7 +60,7 @@ public class MongoMissingLastRevSeeker e
                 start(NodeDocument.MODIFIED_IN_SECS).greaterThanEquals(
                                 NodeDocument.getModifiedInSecs(startTime))
                         .get();
-        DBObject sortFields = new BasicDBObject(NodeDocument.MODIFIED_IN_SECS, -1);
+        DBObject sortFields = new BasicDBObject(NodeDocument.MODIFIED_IN_SECS, 1);
 
         DBCursor cursor =
                 getNodeCollection().find(query)

Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoMissingLastRevSeekerTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoMissingLastRevSeekerTest.java?rev=1794332&r1=1794331&r2=1794332&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoMissingLastRevSeekerTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoMissingLastRevSeekerTest.java Mon May  8 11:31:42 2017
@@ -34,7 +34,6 @@ import org.apache.jackrabbit.oak.plugins
 import org.apache.jackrabbit.oak.plugins.document.util.MongoConnection;
 import org.junit.After;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 
 import static org.apache.jackrabbit.oak.plugins.document.Collection.NODES;
@@ -79,7 +78,6 @@ public class MongoMissingLastRevSeekerTe
         assertTrue(builder.createMissingLastRevSeeker() instanceof MongoMissingLastRevSeeker);
     }
 
-    @Ignore("OAK-6181")
     @Test
     public void completeResult() throws Exception {
         final int NUM_DOCS = 200;



Re: svn commit: r1794332 - in /jackrabbit/oak/trunk/oak-core/src: main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoMissingLastRevSeeker.java test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoMissingLastRevSeekerTest.java

Posted by Marcel Reutegger <mr...@adobe.com>.
On 08/05/17 13:38, Chetan Mehrotra wrote:
> On Mon, May 8, 2017 at 5:01 PM,  <mr...@apache.org> wrote:
>> -        DBObject sortFields = new BasicDBObject(NodeDocument.MODIFIED_IN_SECS, -1);
>> +        DBObject sortFields = new BasicDBObject(NodeDocument.MODIFIED_IN_SECS, 1);
>
> May be we skip sorting altogether. In that case iteration would be on
> id which should be stable order.

The _id index is not appropriate for this kind of query. The query is 
for documents that have been modified after a given timestamp. In almost 
all cases MongoDB will use the _modified+_id compound index. I wanted to 
leave the sort in there to make sure MongoDB scans the index in the 
correct sequence.

Regards
  Marcel

Re: svn commit: r1794332 - in /jackrabbit/oak/trunk/oak-core/src: main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoMissingLastRevSeeker.java test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoMissingLastRevSeekerTest.java

Posted by Chetan Mehrotra <ch...@gmail.com>.
On Mon, May 8, 2017 at 5:01 PM,  <mr...@apache.org> wrote:
> -        DBObject sortFields = new BasicDBObject(NodeDocument.MODIFIED_IN_SECS, -1);
> +        DBObject sortFields = new BasicDBObject(NodeDocument.MODIFIED_IN_SECS, 1);

May be we skip sorting altogether. In that case iteration would be on
id which should be stable order.

Chetan Mehrotra