summaryrefslogtreecommitdiff
path: root/src/mongo/db/repl/storage_interface_mock.cpp
diff options
context:
space:
mode:
authorMathias Stearn <mathias@10gen.com>2016-08-15 19:06:30 -0400
committerMathias Stearn <mathias@10gen.com>2016-08-23 10:49:55 -0400
commit34c6c691a038eac1ac3ee16e1eedc54aab964774 (patch)
tree7a0776eba2e12ade082628f1654aee3a753feb57 /src/mongo/db/repl/storage_interface_mock.cpp
parent3bcafe4fe23c9521fe028a176fffabdc79d434e9 (diff)
downloadmongo-34c6c691a038eac1ac3ee16e1eedc54aab964774.tar.gz
SERVER-7200 Write oplog entries on secondaries before applying
Diffstat (limited to 'src/mongo/db/repl/storage_interface_mock.cpp')
-rw-r--r--src/mongo/db/repl/storage_interface_mock.cpp35
1 files changed, 27 insertions, 8 deletions
diff --git a/src/mongo/db/repl/storage_interface_mock.cpp b/src/mongo/db/repl/storage_interface_mock.cpp
index 96b40deba0d..7104824ebb0 100644
--- a/src/mongo/db/repl/storage_interface_mock.cpp
+++ b/src/mongo/db/repl/storage_interface_mock.cpp
@@ -55,21 +55,40 @@ void StorageInterfaceMock::clearInitialSyncFlag(OperationContext* txn) {
_initialSyncFlag = false;
}
-BatchBoundaries StorageInterfaceMock::getMinValid(OperationContext* txn) const {
+OpTime StorageInterfaceMock::getMinValid(OperationContext* txn) const {
stdx::lock_guard<stdx::mutex> lock(_minValidBoundariesMutex);
- return _minValidBoundaries;
+ return _minValid;
}
-void StorageInterfaceMock::setMinValid(OperationContext* txn,
- const OpTime& endOpTime,
- const DurableRequirement durReq) {
+void StorageInterfaceMock::setMinValid(OperationContext* txn, const OpTime& minValid) {
stdx::lock_guard<stdx::mutex> lock(_minValidBoundariesMutex);
- _minValidBoundaries = {OpTime(), endOpTime};
+ _minValid = minValid;
}
-void StorageInterfaceMock::setMinValid(OperationContext* txn, const BatchBoundaries& boundaries) {
+void StorageInterfaceMock::setMinValidToAtLeast(OperationContext* txn, const OpTime& minValid) {
stdx::lock_guard<stdx::mutex> lock(_minValidBoundariesMutex);
- _minValidBoundaries = boundaries;
+ _minValid = std::max(_minValid, minValid);
+}
+
+void StorageInterfaceMock::setOplogDeleteFromPoint(OperationContext* txn,
+ const Timestamp& timestamp) {
+ stdx::lock_guard<stdx::mutex> lock(_minValidBoundariesMutex);
+ _oplogDeleteFromPoint = timestamp;
+}
+
+Timestamp StorageInterfaceMock::getOplogDeleteFromPoint(OperationContext* txn) {
+ stdx::lock_guard<stdx::mutex> lock(_minValidBoundariesMutex);
+ return _oplogDeleteFromPoint;
+}
+
+void StorageInterfaceMock::setAppliedThrough(OperationContext* txn, const OpTime& optime) {
+ stdx::lock_guard<stdx::mutex> lock(_minValidBoundariesMutex);
+ _appliedThrough = optime;
+}
+
+OpTime StorageInterfaceMock::getAppliedThrough(OperationContext* txn) {
+ stdx::lock_guard<stdx::mutex> lock(_minValidBoundariesMutex);
+ return _appliedThrough;
}
Status CollectionBulkLoaderMock::init(OperationContext* txn,