diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/JournalEntry.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/JournalEntry.java
index 2a5a7e7..bc2aa80 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/JournalEntry.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/JournalEntry.java
@@ -65,6 +65,8 @@ public final class JournalEntry extends Document {
 
     private static final String BRANCH_COMMITS = "_bc";
 
+    public static final String TIMESTAMP = "_ts";
+
     private static final int READ_CHUNK_SIZE = 100;
 
     /**
@@ -262,6 +264,9 @@ public final class JournalEntry extends Document {
         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(TIMESTAMP, revision.getTimestamp());
         String bc = (String) get(BRANCH_COMMITS);
         if (bc != null) {
             op.set(BRANCH_COMMITS, bc);
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStore.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStore.java
index 91f6630..0ae0904 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStore.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStore.java
@@ -56,6 +56,7 @@ import org.apache.jackrabbit.oak.plugins.document.Document;
 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 implements DocumentStore {
         options.put("sparse", Boolean.TRUE);
         this.nodes.ensureIndex(index, options);
 
+        index = new BasicDBObject();
+        index.put(JournalEntry.TIMESTAMP, 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()) {
