summaryrefslogtreecommitdiff
path: root/src/mongo/db/repl/storage_interface.h
diff options
context:
space:
mode:
authorWilliam Schultz <william.schultz@mongodb.com>2017-08-16 16:59:57 -0400
committerWilliam Schultz <william.schultz@mongodb.com>2017-08-16 17:00:18 -0400
commitba40a3fff428f881afc465e125df03af154df845 (patch)
tree933ad2daab77c9178b9059a57a76145312ff0c4d /src/mongo/db/repl/storage_interface.h
parentfe72cc35ff8af7bf421d29c668e4d50c048d141b (diff)
downloadmongo-ba40a3fff428f881afc465e125df03af154df845.tar.gz
SERVER-29898 Call recoverToStableTimestamp under the global lock in rollback
Diffstat (limited to 'src/mongo/db/repl/storage_interface.h')
-rw-r--r--src/mongo/db/repl/storage_interface.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/mongo/db/repl/storage_interface.h b/src/mongo/db/repl/storage_interface.h
index 93c46d691f8..8e37194b7a7 100644
--- a/src/mongo/db/repl/storage_interface.h
+++ b/src/mongo/db/repl/storage_interface.h
@@ -288,6 +288,17 @@ public:
*/
virtual void setInitialDataTimestamp(StorageEngine* storageEngine,
SnapshotName snapshotName) = 0;
+
+ /**
+ * Reverts the state of all database data to the last stable timestamp.
+ *
+ * The "local" database is exempt and none of its state should be reverted except for
+ * "local.replset.minvalid" and "local.replset.checkpointTimestamp" which should be reverted to
+ * the last stable timestamp.
+ *
+ * The 'stable' timestamp is set by calling StorageInterface::setStableTimestamp.
+ */
+ virtual Status recoverToStableTimestamp(StorageEngine* storageEngine) = 0;
};
} // namespace repl