diff options
-rw-r--r-- | src/mongo/db/repl/replication_consistency_markers_mock.cpp | 12 | ||||
-rw-r--r-- | src/mongo/db/repl/replication_consistency_markers_mock.h | 1 | ||||
-rw-r--r-- | src/mongo/db/repl/storage_interface_mock.h | 8 |
3 files changed, 17 insertions, 4 deletions
diff --git a/src/mongo/db/repl/replication_consistency_markers_mock.cpp b/src/mongo/db/repl/replication_consistency_markers_mock.cpp index 875c47f9e3d..b2b843e8c74 100644 --- a/src/mongo/db/repl/replication_consistency_markers_mock.cpp +++ b/src/mongo/db/repl/replication_consistency_markers_mock.cpp @@ -135,12 +135,18 @@ Status ReplicationConsistencyMarkersMock::createInternalCollections(OperationCon return Status::OK(); } -void ReplicationConsistencyMarkersMock::setInitialSyncIdIfNotSet(OperationContext* opCtx) {} +void ReplicationConsistencyMarkersMock::setInitialSyncIdIfNotSet(OperationContext* opCtx) { + if (_initialSyncId.isEmpty()) { + _initialSyncId = UUID::gen().toBSON(); + } +} -void ReplicationConsistencyMarkersMock::clearInitialSyncId(OperationContext* opCtx) {} +void ReplicationConsistencyMarkersMock::clearInitialSyncId(OperationContext* opCtx) { + _initialSyncId = BSONObj(); +} BSONObj ReplicationConsistencyMarkersMock::getInitialSyncId(OperationContext* opCtx) { - return BSONObj(); + return _initialSyncId; } } // namespace repl diff --git a/src/mongo/db/repl/replication_consistency_markers_mock.h b/src/mongo/db/repl/replication_consistency_markers_mock.h index a925e014d93..7330fecbea6 100644 --- a/src/mongo/db/repl/replication_consistency_markers_mock.h +++ b/src/mongo/db/repl/replication_consistency_markers_mock.h @@ -97,6 +97,7 @@ private: OpTime _appliedThrough; OpTime _minValid; Timestamp _oplogTruncateAfterPoint; + BSONObj _initialSyncId; }; } // namespace repl diff --git a/src/mongo/db/repl/storage_interface_mock.h b/src/mongo/db/repl/storage_interface_mock.h index 03416512bb9..97b0a312584 100644 --- a/src/mongo/db/repl/storage_interface_mock.h +++ b/src/mongo/db/repl/storage_interface_mock.h @@ -125,6 +125,8 @@ public: const BSONObj&, BoundInclusion, std::size_t)>; + using PutSingletonFn = + std::function<Status(OperationContext*, const NamespaceString&, const TimestampedBSONObj&)>; using IsAdminDbValidFn = std::function<Status(OperationContext*)>; using GetCollectionUUIDFn = std::function<StatusWith<UUID>(OperationContext*, const NamespaceString&)>; @@ -240,7 +242,7 @@ public: Status putSingleton(OperationContext* opCtx, const NamespaceString& nss, const TimestampedBSONObj& update) override { - return Status{ErrorCodes::IllegalOperation, "putSingleton not implemented."}; + return putSingletonFn(opCtx, nss, update); } Status updateSingleton(OperationContext* opCtx, @@ -427,6 +429,10 @@ public: std::size_t limit) { return Status{ErrorCodes::IllegalOperation, "DeleteOneFn not implemented."}; }; + PutSingletonFn putSingletonFn = + [](OperationContext* opCtx, const NamespaceString& nss, const TimestampedBSONObj& update) { + return Status{ErrorCodes::IllegalOperation, "PutSingletonFn not implemented."}; + }; IsAdminDbValidFn isAdminDbValidFn = [](OperationContext*) { return Status{ErrorCodes::IllegalOperation, "IsAdminDbValidFn not implemented."}; }; |