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 ch...@apache.org on 2014/05/13 11:18:21 UTC

svn commit: r1594164 - in /jackrabbit/oak/trunk/oak-core/src: main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStore.java test/java/org/apache/jackrabbit/oak/plugins/document/mongo/ReadPreferenceIT.java

Author: chetanm
Date: Tue May 13 09:18:20 2014
New Revision: 1594164

URL: http://svn.apache.org/r1594164
Log:
OAK-1645 - Route find queries to Mongo secondary in MongoDocumentStore

Do not use the clock from builder for now as it causes other testcases to fail as some aspects of code still use System.currenttime.

Instead one can specify custom clock directly for testing purpose. This localizes clock change for testing

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

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStore.java?rev=1594164&r1=1594163&r2=1594164&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStore.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStore.java Tue May 13 09:18:20 2014
@@ -121,7 +121,7 @@ public class MongoDocumentStore implemen
      */
     private final Comparator<Revision> comparator = StableRevisionComparator.REVERSE;
 
-    private final Clock clock;
+    private Clock clock = Clock.SIMPLE;
 
     private final DB db;
 
@@ -138,7 +138,6 @@ public class MongoDocumentStore implemen
         settings = db.getCollection(
                 Collection.SETTINGS.toString());
 
-        clock = builder.getClock();
         maxReplicationLagMillis = builder.getMaxReplicationLagMillis();
 
         // indexes:
@@ -1046,4 +1045,8 @@ public class MongoDocumentStore implemen
     private long getTime() {
         return clock.getTime();
     }
+
+    void setClock(Clock clock) {
+        this.clock = clock;
+    }
 }
\ No newline at end of file

Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/ReadPreferenceIT.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/ReadPreferenceIT.java?rev=1594164&r1=1594163&r2=1594164&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/ReadPreferenceIT.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/ReadPreferenceIT.java Tue May 13 09:18:20 2014
@@ -66,8 +66,7 @@ public class ReadPreferenceIT {
         replicationLag = TimeUnit.SECONDS.toMillis(10);
         MongoConnection mc = MongoUtils.getConnection();
         documentNodeStore = new DocumentMK.Builder()
-                .clock(clock)
-                .setMaxReplicationLag(replicationLag, TimeUnit.HOURS)
+                .setMaxReplicationLag(replicationLag, TimeUnit.MILLISECONDS)
                 .setMongoDB(mc.getDB())
                 .setClusterId(1)
                 .getNodeStore();
@@ -144,6 +143,7 @@ public class ReadPreferenceIT {
 
         //Going into future to make parent /x old enough
         clock.waitUntil(Revision.getCurrentTimestamp() + replicationLag);
+        mongoDS.setClock(clock);
 
         //For old modified nodes secondaries should be preferred
         assertEquals(testPref,