Author: stefanegli
Date: Tue Jul 21 08:40:19 2015
New Revision: 1692065
URL: http://svn.apache.org/r1692065
Log:
OAK-3085 : adding _modified timestamp property to journal, for later use by
OAK-3001, incl adding an index for this
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/JournalEntry.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStore.java
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/JournalEntry.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/JournalEntry.java?rev=1692065&r1=1692064&r2=1692065&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/JournalEntry.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/JournalEntry.java
Tue Jul 21 08:40:19 2015
@@ -65,6 +65,8 @@ public final class JournalEntry extends
private static final String BRANCH_COMMITS = "_bc";
+ public static final String MODIFIED = "_modified";
+
private static final int READ_CHUNK_SIZE = 100;
/**
@@ -262,6 +264,9 @@ public final class JournalEntry extends
UpdateOp op = new UpdateOp(id, true);
op.set(ID, id);
op.set(CHANGES, getChanges().serialize());
+ // OAK-3085 : introduce a timestamp property
+ // for later being used by OAK-3001
+ op.set(MODIFIED, revision.getTimestamp());
String bc = (String) get(BRANCH_COMMITS);
if (bc != null) {
op.set(BRANCH_COMMITS, bc);
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=1692065&r1=1692064&r2=1692065&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 Jul 21 08:40:19 2015
@@ -56,6 +56,7 @@ import org.apache.jackrabbit.oak.plugins
import org.apache.jackrabbit.oak.plugins.document.DocumentMK;
import org.apache.jackrabbit.oak.plugins.document.DocumentStore;
import org.apache.jackrabbit.oak.plugins.document.DocumentStoreException;
+import org.apache.jackrabbit.oak.plugins.document.JournalEntry;
import org.apache.jackrabbit.oak.plugins.document.NodeDocument;
import org.apache.jackrabbit.oak.plugins.document.Revision;
import org.apache.jackrabbit.oak.plugins.document.StableRevisionComparator;
@@ -237,6 +238,11 @@ public class MongoDocumentStore implemen
options.put("sparse", Boolean.TRUE);
this.nodes.ensureIndex(index, options);
+ index = new BasicDBObject();
+ index.put(JournalEntry.MODIFIED, 1);
+ options = new BasicDBObject();
+ options.put("unique", Boolean.FALSE);
+ this.journal.ensureIndex(index, options);
// TODO expire entries if the parent was changed
if (builder.useOffHeapCache()) {
@@ -1477,4 +1483,4 @@ public class MongoDocumentStore implemen
parentLock.unlock();
}
}
-}
\ No newline at end of file
+}