diff options
author | Mathias Stearn <mathias@10gen.com> | 2016-08-15 19:06:30 -0400 |
---|---|---|
committer | Mathias Stearn <mathias@10gen.com> | 2016-08-23 10:49:55 -0400 |
commit | 34c6c691a038eac1ac3ee16e1eedc54aab964774 (patch) | |
tree | 7a0776eba2e12ade082628f1654aee3a753feb57 /src/mongo/db/repl/storage_interface_mock.cpp | |
parent | 3bcafe4fe23c9521fe028a176fffabdc79d434e9 (diff) | |
download | mongo-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.cpp | 35 |
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, |