diff options
author | Kaloian Manassiev <kaloian.manassiev@mongodb.com> | 2016-07-28 10:33:56 -0400 |
---|---|---|
committer | Kaloian Manassiev <kaloian.manassiev@mongodb.com> | 2016-07-29 09:28:22 -0400 |
commit | ac0e731677e4c377917acaf95030873d0162df17 (patch) | |
tree | 2b5f27e70280c8deea556815551a5796767f4ea5 | |
parent | 3e755ba53b413f430d1105937de90030455c6135 (diff) | |
download | mongo-ac0e731677e4c377917acaf95030873d0162df17.tar.gz |
SERVER-24842 ShardingStateRecovery::recover cleanup should not wait for replication
-rw-r--r-- | src/mongo/db/s/sharding_state_recovery.cpp | 9 | ||||
-rw-r--r-- | src/mongo/db/write_concern_options.cpp | 3 | ||||
-rw-r--r-- | src/mongo/db/write_concern_options.h | 2 |
3 files changed, 11 insertions, 3 deletions
diff --git a/src/mongo/db/s/sharding_state_recovery.cpp b/src/mongo/db/s/sharding_state_recovery.cpp index 804f4b21ca2..2863d044c2f 100644 --- a/src/mongo/db/s/sharding_state_recovery.cpp +++ b/src/mongo/db/s/sharding_state_recovery.cpp @@ -62,10 +62,13 @@ const char kShardName[] = "shardName"; const char kMinOpTime[] = "minOpTime"; const char kMinOpTimeUpdaters[] = "minOpTimeUpdaters"; -const Seconds kWriteTimeout(15); const WriteConcernOptions kMajorityWriteConcern(WriteConcernOptions::kMajority, WriteConcernOptions::SyncMode::UNSET, - kWriteTimeout); + Seconds(15)); + +const WriteConcernOptions kLocalWriteConcern(1, + WriteConcernOptions::SyncMode::UNSET, + Milliseconds(0)); MONGO_EXPORT_STARTUP_SERVER_PARAMETER(recoverShardingState, bool, true); @@ -305,7 +308,7 @@ Status ShardingStateRecovery::recover(OperationContext* txn) { << grid.shardRegistry()->getConfigOpTime(); // Finally, clear the recovery document so next time we don't need to recover - status = modifyRecoveryDocument(txn, RecoveryDocument::Clear, kMajorityWriteConcern); + status = modifyRecoveryDocument(txn, RecoveryDocument::Clear, kLocalWriteConcern); if (!status.isOK()) { warning() << "Failed to reset sharding state recovery document due to " << status; } diff --git a/src/mongo/db/write_concern_options.cpp b/src/mongo/db/write_concern_options.cpp index 58af7b36a9d..a7dbd843566 100644 --- a/src/mongo/db/write_concern_options.cpp +++ b/src/mongo/db/write_concern_options.cpp @@ -62,6 +62,9 @@ const BSONObj WriteConcernOptions::Majority(BSON("w" << WriteConcernOptions::kMa WriteConcernOptions::WriteConcernOptions(int numNodes, SyncMode sync, int timeout) : syncMode(sync), wNumNodes(numNodes), wTimeout(timeout) {} + +WriteConcernOptions::WriteConcernOptions(int numNodes, SyncMode sync, Milliseconds timeout) + : syncMode(sync), wNumNodes(numNodes), wTimeout(durationCount<Milliseconds>(timeout)) {} WriteConcernOptions::WriteConcernOptions(const std::string& mode, SyncMode sync, int timeout) : syncMode(sync), wNumNodes(0), wMode(mode), wTimeout(timeout) {} diff --git a/src/mongo/db/write_concern_options.h b/src/mongo/db/write_concern_options.h index 28bf6b77f9b..66ca84f8014 100644 --- a/src/mongo/db/write_concern_options.h +++ b/src/mongo/db/write_concern_options.h @@ -55,6 +55,8 @@ public: WriteConcernOptions(int numNodes, SyncMode sync, int timeout); + WriteConcernOptions(int numNodes, SyncMode sync, Milliseconds timeout); + WriteConcernOptions(const std::string& mode, SyncMode sync, int timeout); WriteConcernOptions(const std::string& mode, SyncMode sync, Milliseconds timeout); |