diff options
Diffstat (limited to 'src/mongo/db/repl/replication_coordinator_external_state_mock.cpp')
-rw-r--r-- | src/mongo/db/repl/replication_coordinator_external_state_mock.cpp | 247 |
1 files changed, 119 insertions, 128 deletions
diff --git a/src/mongo/db/repl/replication_coordinator_external_state_mock.cpp b/src/mongo/db/repl/replication_coordinator_external_state_mock.cpp index 2ab0103f6b1..ee6594084c0 100644 --- a/src/mongo/db/repl/replication_coordinator_external_state_mock.cpp +++ b/src/mongo/db/repl/replication_coordinator_external_state_mock.cpp @@ -42,156 +42,147 @@ namespace mongo { namespace repl { - ReplicationCoordinatorExternalStateMock::ReplicationCoordinatorExternalStateMock() - : _localRsConfigDocument(ErrorCodes::NoMatchingDocument, "No local config document"), - _localRsLastVoteDocument(ErrorCodes::NoMatchingDocument, "No local lastVote document"), - _lastOpTime(ErrorCodes::NoMatchingDocument, "No last oplog entry"), - _canAcquireGlobalSharedLock(true), - _storeLocalConfigDocumentStatus(Status::OK()), - _storeLocalLastVoteDocumentStatus(Status::OK()), - _storeLocalConfigDocumentShouldHang(false), - _storeLocalLastVoteDocumentShouldHang(false), - _connectionsClosed(false) { - } - - ReplicationCoordinatorExternalStateMock::~ReplicationCoordinatorExternalStateMock() {} - - void ReplicationCoordinatorExternalStateMock::startThreads() {} - void ReplicationCoordinatorExternalStateMock::startMasterSlave(OperationContext*) {} - void ReplicationCoordinatorExternalStateMock::initiateOplog(OperationContext* txn) {} - void ReplicationCoordinatorExternalStateMock::shutdown() {} - void ReplicationCoordinatorExternalStateMock::forwardSlaveProgress() {} - - OID ReplicationCoordinatorExternalStateMock::ensureMe(OperationContext*) { - return OID::gen(); - } - - bool ReplicationCoordinatorExternalStateMock::isSelf(const HostAndPort& host) { - return sequenceContains(_selfHosts, host); - } - - void ReplicationCoordinatorExternalStateMock::addSelf(const HostAndPort& host) { - _selfHosts.push_back(host); +ReplicationCoordinatorExternalStateMock::ReplicationCoordinatorExternalStateMock() + : _localRsConfigDocument(ErrorCodes::NoMatchingDocument, "No local config document"), + _localRsLastVoteDocument(ErrorCodes::NoMatchingDocument, "No local lastVote document"), + _lastOpTime(ErrorCodes::NoMatchingDocument, "No last oplog entry"), + _canAcquireGlobalSharedLock(true), + _storeLocalConfigDocumentStatus(Status::OK()), + _storeLocalLastVoteDocumentStatus(Status::OK()), + _storeLocalConfigDocumentShouldHang(false), + _storeLocalLastVoteDocumentShouldHang(false), + _connectionsClosed(false) {} + +ReplicationCoordinatorExternalStateMock::~ReplicationCoordinatorExternalStateMock() {} + +void ReplicationCoordinatorExternalStateMock::startThreads() {} +void ReplicationCoordinatorExternalStateMock::startMasterSlave(OperationContext*) {} +void ReplicationCoordinatorExternalStateMock::initiateOplog(OperationContext* txn) {} +void ReplicationCoordinatorExternalStateMock::shutdown() {} +void ReplicationCoordinatorExternalStateMock::forwardSlaveProgress() {} + +OID ReplicationCoordinatorExternalStateMock::ensureMe(OperationContext*) { + return OID::gen(); +} + +bool ReplicationCoordinatorExternalStateMock::isSelf(const HostAndPort& host) { + return sequenceContains(_selfHosts, host); +} + +void ReplicationCoordinatorExternalStateMock::addSelf(const HostAndPort& host) { + _selfHosts.push_back(host); +} + +HostAndPort ReplicationCoordinatorExternalStateMock::getClientHostAndPort( + const OperationContext* txn) { + return _clientHostAndPort; +} + +void ReplicationCoordinatorExternalStateMock::setClientHostAndPort( + const HostAndPort& clientHostAndPort) { + _clientHostAndPort = clientHostAndPort; +} + +StatusWith<BSONObj> ReplicationCoordinatorExternalStateMock::loadLocalConfigDocument( + OperationContext* txn) { + return _localRsConfigDocument; +} + +Status ReplicationCoordinatorExternalStateMock::storeLocalConfigDocument(OperationContext* txn, + const BSONObj& config) { + { + stdx::unique_lock<stdx::mutex> lock(_shouldHangConfigMutex); + while (_storeLocalConfigDocumentShouldHang) { + _shouldHangConfigCondVar.wait(lock); + } } - - HostAndPort ReplicationCoordinatorExternalStateMock::getClientHostAndPort( - const OperationContext* txn) { - return _clientHostAndPort; + if (_storeLocalConfigDocumentStatus.isOK()) { + setLocalConfigDocument(StatusWith<BSONObj>(config)); + return Status::OK(); } + return _storeLocalConfigDocumentStatus; +} - void ReplicationCoordinatorExternalStateMock::setClientHostAndPort( - const HostAndPort& clientHostAndPort) { - _clientHostAndPort = clientHostAndPort; - } +void ReplicationCoordinatorExternalStateMock::setLocalConfigDocument( + const StatusWith<BSONObj>& localConfigDocument) { + _localRsConfigDocument = localConfigDocument; +} - StatusWith<BSONObj> ReplicationCoordinatorExternalStateMock::loadLocalConfigDocument( - OperationContext* txn) { - return _localRsConfigDocument; - } +StatusWith<LastVote> ReplicationCoordinatorExternalStateMock::loadLocalLastVoteDocument( + OperationContext* txn) { + return _localRsLastVoteDocument; +} - Status ReplicationCoordinatorExternalStateMock::storeLocalConfigDocument( - OperationContext* txn, - const BSONObj& config) { - { - stdx::unique_lock<stdx::mutex> lock(_shouldHangConfigMutex); - while (_storeLocalConfigDocumentShouldHang) { - _shouldHangConfigCondVar.wait(lock); - } - } - if (_storeLocalConfigDocumentStatus.isOK()) { - setLocalConfigDocument(StatusWith<BSONObj>(config)); - return Status::OK(); +Status ReplicationCoordinatorExternalStateMock::storeLocalLastVoteDocument( + OperationContext* txn, const LastVote& lastVote) { + { + stdx::unique_lock<stdx::mutex> lock(_shouldHangLastVoteMutex); + while (_storeLocalLastVoteDocumentShouldHang) { + _shouldHangLastVoteCondVar.wait(lock); } - return _storeLocalConfigDocumentStatus; - } - - void ReplicationCoordinatorExternalStateMock::setLocalConfigDocument( - const StatusWith<BSONObj>& localConfigDocument) { - - _localRsConfigDocument = localConfigDocument; } - - StatusWith<LastVote> ReplicationCoordinatorExternalStateMock::loadLocalLastVoteDocument( - OperationContext* txn) { - return _localRsLastVoteDocument; + if (_storeLocalLastVoteDocumentStatus.isOK()) { + setLocalLastVoteDocument(StatusWith<LastVote>(lastVote)); + return Status::OK(); } + return _storeLocalLastVoteDocumentStatus; +} - Status ReplicationCoordinatorExternalStateMock::storeLocalLastVoteDocument( - OperationContext* txn, - const LastVote& lastVote) { - { - stdx::unique_lock<stdx::mutex> lock(_shouldHangLastVoteMutex); - while (_storeLocalLastVoteDocumentShouldHang) { - _shouldHangLastVoteCondVar.wait(lock); - } - } - if (_storeLocalLastVoteDocumentStatus.isOK()) { - setLocalLastVoteDocument(StatusWith<LastVote>(lastVote)); - return Status::OK(); - } - return _storeLocalLastVoteDocumentStatus; - } +void ReplicationCoordinatorExternalStateMock::setLocalLastVoteDocument( + const StatusWith<LastVote>& localLastVoteDocument) { + _localRsLastVoteDocument = localLastVoteDocument; +} - void ReplicationCoordinatorExternalStateMock::setLocalLastVoteDocument( - const StatusWith<LastVote>& localLastVoteDocument) { +void ReplicationCoordinatorExternalStateMock::setGlobalTimestamp(const Timestamp& newTime) {} - _localRsLastVoteDocument = localLastVoteDocument; - } - - void ReplicationCoordinatorExternalStateMock::setGlobalTimestamp(const Timestamp& newTime) { - } - - StatusWith<OpTime> ReplicationCoordinatorExternalStateMock::loadLastOpTime( - OperationContext* txn) { - return _lastOpTime; - } +StatusWith<OpTime> ReplicationCoordinatorExternalStateMock::loadLastOpTime(OperationContext* txn) { + return _lastOpTime; +} - void ReplicationCoordinatorExternalStateMock::setLastOpTime( - const StatusWith<OpTime>& lastApplied) { - _lastOpTime = lastApplied; - } +void ReplicationCoordinatorExternalStateMock::setLastOpTime(const StatusWith<OpTime>& lastApplied) { + _lastOpTime = lastApplied; +} - void ReplicationCoordinatorExternalStateMock::setStoreLocalConfigDocumentStatus(Status status) { - _storeLocalConfigDocumentStatus = status; - } +void ReplicationCoordinatorExternalStateMock::setStoreLocalConfigDocumentStatus(Status status) { + _storeLocalConfigDocumentStatus = status; +} - void ReplicationCoordinatorExternalStateMock::setStoreLocalConfigDocumentToHang(bool hang) { - stdx::unique_lock<stdx::mutex> lock(_shouldHangConfigMutex); - _storeLocalConfigDocumentShouldHang = hang; - if (!hang) { - _shouldHangConfigCondVar.notify_all(); - } +void ReplicationCoordinatorExternalStateMock::setStoreLocalConfigDocumentToHang(bool hang) { + stdx::unique_lock<stdx::mutex> lock(_shouldHangConfigMutex); + _storeLocalConfigDocumentShouldHang = hang; + if (!hang) { + _shouldHangConfigCondVar.notify_all(); } +} - void ReplicationCoordinatorExternalStateMock::setStoreLocalLastVoteDocumentStatus( - Status status) { - _storeLocalLastVoteDocumentStatus = status; - } +void ReplicationCoordinatorExternalStateMock::setStoreLocalLastVoteDocumentStatus(Status status) { + _storeLocalLastVoteDocumentStatus = status; +} - void ReplicationCoordinatorExternalStateMock::setStoreLocalLastVoteDocumentToHang(bool hang) { - stdx::unique_lock<stdx::mutex> lock(_shouldHangLastVoteMutex); - _storeLocalLastVoteDocumentShouldHang = hang; - if (!hang) { - _shouldHangLastVoteCondVar.notify_all(); - } +void ReplicationCoordinatorExternalStateMock::setStoreLocalLastVoteDocumentToHang(bool hang) { + stdx::unique_lock<stdx::mutex> lock(_shouldHangLastVoteMutex); + _storeLocalLastVoteDocumentShouldHang = hang; + if (!hang) { + _shouldHangLastVoteCondVar.notify_all(); } +} - void ReplicationCoordinatorExternalStateMock::closeConnections() { - _connectionsClosed = true; - } +void ReplicationCoordinatorExternalStateMock::closeConnections() { + _connectionsClosed = true; +} - void ReplicationCoordinatorExternalStateMock::killAllUserOperations(OperationContext* txn) {} +void ReplicationCoordinatorExternalStateMock::killAllUserOperations(OperationContext* txn) {} - void ReplicationCoordinatorExternalStateMock::clearShardingState() {} +void ReplicationCoordinatorExternalStateMock::clearShardingState() {} - void ReplicationCoordinatorExternalStateMock::signalApplierToChooseNewSyncSource() {} +void ReplicationCoordinatorExternalStateMock::signalApplierToChooseNewSyncSource() {} - OperationContext* ReplicationCoordinatorExternalStateMock::createOperationContext( - const std::string& threadName) { - return new OperationContextReplMock; - } +OperationContext* ReplicationCoordinatorExternalStateMock::createOperationContext( + const std::string& threadName) { + return new OperationContextReplMock; +} - void ReplicationCoordinatorExternalStateMock::dropAllTempCollections(OperationContext* txn) {} +void ReplicationCoordinatorExternalStateMock::dropAllTempCollections(OperationContext* txn) {} -} // namespace repl -} // namespace mongo +} // namespace repl +} // namespace mongo |