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/07/06 07:12:01 UTC
svn commit: r1800971 - 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/MongoDocumentStoreTest.java
Author: mreutegg
Date: Thu Jul 6 07:12:01 2017
New Revision: 1800971
URL: http://svn.apache.org/viewvc?rev=1800971&view=rev
Log:
OAK-6423: MongoDocumentStore re-creates old index on _deletedOnce
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/MongoDocumentStoreTest.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=1800971&r1=1800970&r2=1800971&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 Thu Jul 6 07:12:01 2017
@@ -281,12 +281,20 @@ public class MongoDocumentStore implemen
// index on _deleted for fast lookup of potentially garbage
// depending on the MongoDB version, create a partial index
- if (mongoStatus.isVersion(3, 2)
- && initialDocsCount == 0) {
- createPartialIndex(nodes, new String[]{DELETED_ONCE, MODIFIED_IN_SECS},
- new boolean[]{true, true}, "{" + DELETED_ONCE + ":true}");
- } else {
- createIndex(nodes, NodeDocument.DELETED_ONCE, true, false, true);
+ if (initialDocsCount == 0) {
+ if (mongoStatus.isVersion(3, 2)) {
+ createPartialIndex(nodes, new String[]{DELETED_ONCE, MODIFIED_IN_SECS},
+ new boolean[]{true, true}, "{" + DELETED_ONCE + ":true}");
+ } else {
+ createIndex(nodes, NodeDocument.DELETED_ONCE, true, false, true);
+ }
+ } else if (!hasIndex(nodes, DELETED_ONCE, MODIFIED_IN_SECS)) {
+ LOG.warn("Detected an upgrade from Oak version <= 1.6. For optimal " +
+ "Revision GC performance it is recommended to create a " +
+ "partial index for the 'nodes' collection on " +
+ "{_deletedOnce:1, _modified:1} with a partialFilterExpression " +
+ "{_deletedOnce:true}. Partial indexes require MongoDB 3.2 " +
+ "or higher.");
}
// compound index on _sdType and _sdMaxRevTime
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStoreTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStoreTest.java?rev=1800971&r1=1800970&r2=1800971&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStoreTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStoreTest.java Thu Jul 6 07:12:01 2017
@@ -26,7 +26,6 @@ import org.apache.jackrabbit.oak.plugins
import org.apache.jackrabbit.oak.plugins.document.MongoUtils;
import org.apache.jackrabbit.oak.plugins.document.NodeDocument;
import org.apache.jackrabbit.oak.plugins.document.util.MongoConnection;
-import org.junit.Ignore;
import org.junit.Test;
import static org.apache.jackrabbit.oak.plugins.document.mongo.MongoUtils.hasIndex;
@@ -67,7 +66,6 @@ public class MongoDocumentStoreTest exte
assertTrue(hasIndex(store.getDBCollection(Collection.JOURNAL), JournalEntry.MODIFIED));
}
- @Ignore("OAK-6423")
@Test
public void oak6423() throws Exception {
MongoConnection c = connectionFactory.getConnection();