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 re...@apache.org on 2014/08/28 21:54:39 UTC
svn commit: r1621192 - in /jackrabbit/oak/trunk/oak-core/src:
main/java/org/apache/jackrabbit/oak/plugins/document/MissingLastRevSeeker.java
test/java/org/apache/jackrabbit/oak/plugins/document/LastRevRecoveryAgentTest.java
Author: reschke
Date: Thu Aug 28 19:54:38 2014
New Revision: 1621192
URL: http://svn.apache.org/r1621192
Log:
OAK-2054 - use more efficient query in MissingLastRevSeeker; add test coverage for RDB
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/MissingLastRevSeeker.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/LastRevRecoveryAgentTest.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/MissingLastRevSeeker.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/MissingLastRevSeeker.java?rev=1621192&r1=1621191&r2=1621192&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/MissingLastRevSeeker.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/MissingLastRevSeeker.java Thu Aug 28 19:54:38 2014
@@ -68,9 +68,9 @@ public class MissingLastRevSeeker {
* @return the candidates
*/
public Iterable<NodeDocument> getCandidates(final long startTime, final long endTime) {
- // Fetch all documents.
+ // Fetch all documents where lastmod >= startTime
List<NodeDocument> nodes = store.query(Collection.NODES, NodeDocument.MIN_ID_VALUE,
- NodeDocument.MAX_ID_VALUE, Integer.MAX_VALUE);
+ NodeDocument.MAX_ID_VALUE, NodeDocument.MODIFIED_IN_SECS, NodeDocument.getModifiedInSecs(startTime), Integer.MAX_VALUE);
return Iterables.filter(nodes, new Predicate<NodeDocument>() {
@Override
public boolean apply(NodeDocument input) {
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/LastRevRecoveryAgentTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/LastRevRecoveryAgentTest.java?rev=1621192&r1=1621191&r2=1621192&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/LastRevRecoveryAgentTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/LastRevRecoveryAgentTest.java Thu Aug 28 19:54:38 2014
@@ -23,6 +23,8 @@ import java.io.IOException;
import java.util.List;
import com.google.common.collect.Lists;
+
+import org.apache.jackrabbit.oak.plugins.document.DocumentStoreFixture.RDBFixture;
import org.apache.jackrabbit.oak.plugins.document.util.Utils;
import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.EmptyHook;
@@ -60,9 +62,14 @@ public class LastRevRecoveryAgentTest {
List<Object[]> fixtures = Lists.newArrayList();
fixtures.add(new Object[] {new DocumentStoreFixture.MemoryFixture()});
+ DocumentStoreFixture rdb = new RDBFixture("RDB-H2(file)", "jdbc:h2:file:./target/ds-test", "sa", "");
+ if (rdb.isAvailable()) {
+ fixtures.add(new Object[] { rdb });
+ }
+
DocumentStoreFixture mongo = new DocumentStoreFixture.MongoFixture();
- if(mongo.isAvailable()){
- fixtures.add(new Object[] {mongo});
+ if (mongo.isAvailable()) {
+ fixtures.add(new Object[] { mongo });
}
return fixtures;
}