summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMisha Tyulenev <misha@mongodb.com>2018-09-24 20:49:41 -0400
committerMisha Tyulenev <misha@mongodb.com>2018-09-24 20:50:33 -0400
commit3f618b86df0473ab905cc4a0ad78f4be8d3428e3 (patch)
tree2f2258875e62af55e31656120ff402cbe6eeae12
parentc5b5185e541fe96c3ff9e086a716ae0e6a9aefde (diff)
downloadmongo-3f618b86df0473ab905cc4a0ad78f4be8d3428e3.tar.gz
SERVER-29160 bump timeout for migration operations
-rw-r--r--src/mongo/db/commands.cpp2
-rw-r--r--src/mongo/db/s/balancer/migration_manager.cpp2
-rw-r--r--src/mongo/db/s/balancer/scoped_migration_request.cpp2
-rw-r--r--src/mongo/db/s/collection_range_deleter.cpp2
-rw-r--r--src/mongo/db/s/config/configsvr_move_primary_command.cpp2
-rw-r--r--src/mongo/db/s/config/sharding_catalog_manager_add_shard_test.cpp2
-rw-r--r--src/mongo/db/s/migration_source_manager.cpp2
-rw-r--r--src/mongo/db/s/sharding_state_recovery.cpp2
-rw-r--r--src/mongo/db/sessions_collection.cpp9
-rw-r--r--src/mongo/db/write_concern_options.cpp5
-rw-r--r--src/mongo/db/write_concern_options.h5
-rw-r--r--src/mongo/s/catalog/dist_lock_catalog.cpp2
-rw-r--r--src/mongo/s/catalog/sharding_catalog_client.cpp3
-rw-r--r--src/mongo/s/catalog/sharding_catalog_test.cpp2
-rw-r--r--src/mongo/s/commands/cluster_add_shard_to_zone_cmd.cpp2
-rw-r--r--src/mongo/s/commands/cluster_remove_shard_from_zone_cmd.cpp2
-rw-r--r--src/mongo/s/commands/cluster_update_zone_key_range_cmd.cpp2
-rw-r--r--src/mongo/s/commands/cluster_user_management_commands.cpp2
-rw-r--r--src/mongo/s/request_types/add_shard_request_type.cpp2
-rw-r--r--src/mongo/s/sharding_router_test_fixture.cpp2
20 files changed, 33 insertions, 21 deletions
diff --git a/src/mongo/db/commands.cpp b/src/mongo/db/commands.cpp
index a30ad90600c..921b9d7a397 100644
--- a/src/mongo/db/commands.cpp
+++ b/src/mongo/db/commands.cpp
@@ -72,7 +72,7 @@ const WriteConcernOptions kMajorityWriteConcern(
// Note: Even though we're setting UNSET here, kMajority implies JOURNAL if journaling is
// supported by the mongod.
WriteConcernOptions::SyncMode::UNSET,
- Seconds(60));
+ WriteConcernOptions::kWriteConcernTimeoutUserCommand);
// Returns true if found to be authorized, false if undecided. Throws if unauthorized.
bool checkAuthorizationImplPreParse(OperationContext* opCtx,
diff --git a/src/mongo/db/s/balancer/migration_manager.cpp b/src/mongo/db/s/balancer/migration_manager.cpp
index 607f2635829..f35f345e5f9 100644
--- a/src/mongo/db/s/balancer/migration_manager.cpp
+++ b/src/mongo/db/s/balancer/migration_manager.cpp
@@ -66,7 +66,7 @@ const char kChunkTooBig[] = "chunkTooBig"; // TODO: delete in 3.8
const WriteConcernOptions kMajorityWriteConcern(WriteConcernOptions::kMajority,
WriteConcernOptions::SyncMode::UNSET,
- Seconds(15));
+ WriteConcernOptions::kWriteConcernTimeoutMigration);
/**
* Parses the 'commandResponse' and converts it to a status to use as the outcome of the command.
diff --git a/src/mongo/db/s/balancer/scoped_migration_request.cpp b/src/mongo/db/s/balancer/scoped_migration_request.cpp
index 74511ab1823..46aeadf7e40 100644
--- a/src/mongo/db/s/balancer/scoped_migration_request.cpp
+++ b/src/mongo/db/s/balancer/scoped_migration_request.cpp
@@ -43,7 +43,7 @@ namespace {
const WriteConcernOptions kMajorityWriteConcern(WriteConcernOptions::kMajority,
WriteConcernOptions::SyncMode::UNSET,
- Seconds(15));
+ WriteConcernOptions::kWriteConcernTimeoutMigration);
const int kDuplicateKeyErrorMaxRetries = 2;
} // namespace
diff --git a/src/mongo/db/s/collection_range_deleter.cpp b/src/mongo/db/s/collection_range_deleter.cpp
index f3b3415ff52..d2243f9ec3c 100644
--- a/src/mongo/db/s/collection_range_deleter.cpp
+++ b/src/mongo/db/s/collection_range_deleter.cpp
@@ -76,7 +76,7 @@ using DeleteNotification = CollectionRangeDeleter::DeleteNotification;
const WriteConcernOptions kMajorityWriteConcern(WriteConcernOptions::kMajority,
WriteConcernOptions::SyncMode::UNSET,
- Seconds(60));
+ WriteConcernOptions::kWriteConcernTimeoutSharding);
boost::optional<DeleteNotification> checkOverlap(std::list<Deletion> const& deletions,
ChunkRange const& range) {
diff --git a/src/mongo/db/s/config/configsvr_move_primary_command.cpp b/src/mongo/db/s/config/configsvr_move_primary_command.cpp
index 0624528da1a..efc70fdd072 100644
--- a/src/mongo/db/s/config/configsvr_move_primary_command.cpp
+++ b/src/mongo/db/s/config/configsvr_move_primary_command.cpp
@@ -58,7 +58,7 @@ namespace {
const WriteConcernOptions kMajorityWriteConcern(WriteConcernOptions::kMajority,
WriteConcernOptions::SyncMode::UNSET,
- Seconds(60));
+ WriteConcernOptions::kWriteConcernTimeoutSharding);
/**
* Internal sharding command run on config servers to change a database's primary shard.
diff --git a/src/mongo/db/s/config/sharding_catalog_manager_add_shard_test.cpp b/src/mongo/db/s/config/sharding_catalog_manager_add_shard_test.cpp
index 7a2a6ecca9f..b5863517eae 100644
--- a/src/mongo/db/s/config/sharding_catalog_manager_add_shard_test.cpp
+++ b/src/mongo/db/s/config/sharding_catalog_manager_add_shard_test.cpp
@@ -370,7 +370,7 @@ TEST_F(AddShardTest, CreateShardIdentityUpsertForAddShard) {
<< BSON("w"
<< "majority"
<< "wtimeout"
- << 15000)
+ << 60000)
<< "allowImplicitCollectionCreation"
<< true);
auto addShardCmd = add_shard_util::createAddShardCmd(operationContext(), shardName);
diff --git a/src/mongo/db/s/migration_source_manager.cpp b/src/mongo/db/s/migration_source_manager.cpp
index deb72b68e06..c79f84eaae5 100644
--- a/src/mongo/db/s/migration_source_manager.cpp
+++ b/src/mongo/db/s/migration_source_manager.cpp
@@ -77,7 +77,7 @@ const char kMigratedChunkVersionField[] = "migratedChunkVersion";
const char kWriteConcernField[] = "writeConcern";
const WriteConcernOptions kMajorityWriteConcern(WriteConcernOptions::kMajority,
WriteConcernOptions::SyncMode::UNSET,
- Seconds(15));
+ WriteConcernOptions::kWriteConcernTimeoutMigration);
/**
* Best-effort attempt to ensure the recipient shard has refreshed its routing table to
diff --git a/src/mongo/db/s/sharding_state_recovery.cpp b/src/mongo/db/s/sharding_state_recovery.cpp
index 8b6e9d99f22..0eecfbfe135 100644
--- a/src/mongo/db/s/sharding_state_recovery.cpp
+++ b/src/mongo/db/s/sharding_state_recovery.cpp
@@ -65,7 +65,7 @@ const char kShardName[] = "shardName"; // TODO SERVER
const WriteConcernOptions kMajorityWriteConcern(WriteConcernOptions::kMajority,
WriteConcernOptions::SyncMode::UNSET,
- Seconds(15));
+ WriteConcernOptions::kWriteConcernTimeoutSharding);
const WriteConcernOptions kLocalWriteConcern(1,
WriteConcernOptions::SyncMode::UNSET,
diff --git a/src/mongo/db/sessions_collection.cpp b/src/mongo/db/sessions_collection.cpp
index fe60b747c55..612b918792a 100644
--- a/src/mongo/db/sessions_collection.cpp
+++ b/src/mongo/db/sessions_collection.cpp
@@ -58,10 +58,11 @@ constexpr size_t kMaxBatchSize = 1000;
// Used to refresh or remove items from the session collection with write
// concern majority
-const BSONObj kMajorityWriteConcern = WriteConcernOptions(WriteConcernOptions::kMajority,
- WriteConcernOptions::SyncMode::UNSET,
- Seconds(15))
- .toBSON();
+const BSONObj kMajorityWriteConcern =
+ WriteConcernOptions(WriteConcernOptions::kMajority,
+ WriteConcernOptions::SyncMode::UNSET,
+ WriteConcernOptions::kWriteConcernTimeoutSystem)
+ .toBSON();
BSONObj lsidQuery(const LogicalSessionId& lsid) {
diff --git a/src/mongo/db/write_concern_options.cpp b/src/mongo/db/write_concern_options.cpp
index 26f5778be37..19f44ed8d74 100644
--- a/src/mongo/db/write_concern_options.cpp
+++ b/src/mongo/db/write_concern_options.cpp
@@ -69,6 +69,11 @@ const BSONObj WriteConcernOptions::Default = BSONObj();
const BSONObj WriteConcernOptions::Acknowledged(BSON("w" << W_NORMAL));
const BSONObj WriteConcernOptions::Unacknowledged(BSON("w" << W_NONE));
const BSONObj WriteConcernOptions::Majority(BSON("w" << WriteConcernOptions::kMajority));
+const Seconds WriteConcernOptions::kWriteConcernTimeoutSystem{15};
+const Seconds WriteConcernOptions::kWriteConcernTimeoutMigration{30};
+const Seconds WriteConcernOptions::kWriteConcernTimeoutSharding{60};
+const Seconds WriteConcernOptions::kWriteConcernTimeoutUserCommand{60};
+
WriteConcernOptions::WriteConcernOptions(int numNodes, SyncMode sync, int timeout)
: WriteConcernOptions(numNodes, sync, Milliseconds(timeout)) {}
diff --git a/src/mongo/db/write_concern_options.h b/src/mongo/db/write_concern_options.h
index a809a2a1de5..3938a39f99b 100644
--- a/src/mongo/db/write_concern_options.h
+++ b/src/mongo/db/write_concern_options.h
@@ -50,6 +50,11 @@ public:
static const StringData kWriteConcernField;
static const char kMajority[]; // = "majority"
+ static const Seconds kWriteConcernTimeoutSystem;
+ static const Seconds kWriteConcernTimeoutMigration;
+ static const Seconds kWriteConcernTimeoutSharding;
+ static const Seconds kWriteConcernTimeoutUserCommand;
+
WriteConcernOptions() {
reset();
}
diff --git a/src/mongo/s/catalog/dist_lock_catalog.cpp b/src/mongo/s/catalog/dist_lock_catalog.cpp
index edd7bccc245..17267287c36 100644
--- a/src/mongo/s/catalog/dist_lock_catalog.cpp
+++ b/src/mongo/s/catalog/dist_lock_catalog.cpp
@@ -41,7 +41,7 @@ const WriteConcernOptions DistLockCatalog::kMajorityWriteConcern(
// Note: Even though we're setting UNSET here, kMajority implies JOURNAL if journaling is
// supported by this mongod.
WriteConcernOptions::SyncMode::UNSET,
- Seconds(15));
+ WriteConcernOptions::kWriteConcernTimeoutSystem);
DistLockCatalog::DistLockCatalog() = default;
diff --git a/src/mongo/s/catalog/sharding_catalog_client.cpp b/src/mongo/s/catalog/sharding_catalog_client.cpp
index ed17aa3b743..eeda90c9d03 100644
--- a/src/mongo/s/catalog/sharding_catalog_client.cpp
+++ b/src/mongo/s/catalog/sharding_catalog_client.cpp
@@ -28,6 +28,7 @@
#include "mongo/platform/basic.h"
+#include "mongo/db/write_concern_options.h"
#include "mongo/s/catalog/sharding_catalog_client.h"
namespace mongo {
@@ -38,7 +39,7 @@ const WriteConcernOptions ShardingCatalogClient::kMajorityWriteConcern(
// supported by mongod and writeConcernMajorityJournalDefault is set to true in the
// ReplSetConfig.
WriteConcernOptions::SyncMode::UNSET,
- Seconds(15));
+ WriteConcernOptions::kWriteConcernTimeoutSharding);
const WriteConcernOptions ShardingCatalogClient::kLocalWriteConcern(
1, WriteConcernOptions::SyncMode::UNSET, Seconds(0));
diff --git a/src/mongo/s/catalog/sharding_catalog_test.cpp b/src/mongo/s/catalog/sharding_catalog_test.cpp
index fba1b651576..0028c6d9dd5 100644
--- a/src/mongo/s/catalog/sharding_catalog_test.cpp
+++ b/src/mongo/s/catalog/sharding_catalog_test.cpp
@@ -1176,7 +1176,7 @@ TEST_F(ShardingCatalogClientTest, ApplyChunkOpsDeprecatedSuccessful) {
ASSERT_BSONOBJ_EQ(BSON("w"
<< "majority"
<< "wtimeout"
- << 15000),
+ << 60000),
request.cmdObj["writeConcern"].Obj());
ASSERT_BSONOBJ_EQ(BSON(rpc::kReplSetMetadataFieldName << 1),
rpc::TrackingMetadata::removeTrackingData(request.metadata));
diff --git a/src/mongo/s/commands/cluster_add_shard_to_zone_cmd.cpp b/src/mongo/s/commands/cluster_add_shard_to_zone_cmd.cpp
index 8bd17b2f011..e2eaa98f111 100644
--- a/src/mongo/s/commands/cluster_add_shard_to_zone_cmd.cpp
+++ b/src/mongo/s/commands/cluster_add_shard_to_zone_cmd.cpp
@@ -50,7 +50,7 @@ const WriteConcernOptions kMajorityWriteConcern(WriteConcernOptions::kMajority,
// writeConcernMajorityJournalDefault is set to true
// in the ReplSetConfig.
WriteConcernOptions::SyncMode::UNSET,
- Seconds(15));
+ WriteConcernOptions::kWriteConcernTimeoutSharding);
/**
* {
diff --git a/src/mongo/s/commands/cluster_remove_shard_from_zone_cmd.cpp b/src/mongo/s/commands/cluster_remove_shard_from_zone_cmd.cpp
index 5c18b49aaf2..f6b62f41d7a 100644
--- a/src/mongo/s/commands/cluster_remove_shard_from_zone_cmd.cpp
+++ b/src/mongo/s/commands/cluster_remove_shard_from_zone_cmd.cpp
@@ -57,7 +57,7 @@ const WriteConcernOptions kMajorityWriteConcern(WriteConcernOptions::kMajority,
// writeConcernMajorityJournalDefault is set to true
// in the ReplSetConfig.
WriteConcernOptions::SyncMode::UNSET,
- Seconds(15));
+ WriteConcernOptions::kWriteConcernTimeoutSharding);
/**
* {
diff --git a/src/mongo/s/commands/cluster_update_zone_key_range_cmd.cpp b/src/mongo/s/commands/cluster_update_zone_key_range_cmd.cpp
index a54f01bf99e..88f5a1b8f4a 100644
--- a/src/mongo/s/commands/cluster_update_zone_key_range_cmd.cpp
+++ b/src/mongo/s/commands/cluster_update_zone_key_range_cmd.cpp
@@ -58,7 +58,7 @@ const WriteConcernOptions kMajorityWriteConcern(WriteConcernOptions::kMajority,
// writeConcernMajorityJournalDefault is set to true
// in the ReplSetConfig.
WriteConcernOptions::SyncMode::UNSET,
- Seconds(15));
+ WriteConcernOptions::kWriteConcernTimeoutSharding);
/**
* {
diff --git a/src/mongo/s/commands/cluster_user_management_commands.cpp b/src/mongo/s/commands/cluster_user_management_commands.cpp
index 1d4d836fc09..244bcf4a572 100644
--- a/src/mongo/s/commands/cluster_user_management_commands.cpp
+++ b/src/mongo/s/commands/cluster_user_management_commands.cpp
@@ -58,7 +58,7 @@ const WriteConcernOptions kMajorityWriteConcern(WriteConcernOptions::kMajority,
// kMajority implies JOURNAL if journaling is
// supported by this mongod.
WriteConcernOptions::SyncMode::UNSET,
- Seconds(30));
+ WriteConcernOptions::kWriteConcernTimeoutSharding);
class CmdCreateUser : public BasicCommand {
public:
diff --git a/src/mongo/s/request_types/add_shard_request_type.cpp b/src/mongo/s/request_types/add_shard_request_type.cpp
index bb3806ff416..fc19d12ff53 100644
--- a/src/mongo/s/request_types/add_shard_request_type.cpp
+++ b/src/mongo/s/request_types/add_shard_request_type.cpp
@@ -52,7 +52,7 @@ const BSONField<long long> AddShardRequest::maxSizeMB("maxSize");
namespace {
const WriteConcernOptions kMajorityWriteConcern(WriteConcernOptions::kMajority,
WriteConcernOptions::SyncMode::UNSET,
- Seconds(15));
+ WriteConcernOptions::kWriteConcernTimeoutSharding);
}
AddShardRequest::AddShardRequest(ConnectionString connString)
diff --git a/src/mongo/s/sharding_router_test_fixture.cpp b/src/mongo/s/sharding_router_test_fixture.cpp
index e42c1e41316..264bd25240b 100644
--- a/src/mongo/s/sharding_router_test_fixture.cpp
+++ b/src/mongo/s/sharding_router_test_fixture.cpp
@@ -354,7 +354,7 @@ void ShardingTestFixture::expectConfigCollectionCreate(const HostAndPort& config
<< BSON("w"
<< "majority"
<< "wtimeout"
- << 15000)
+ << 60000)
<< "maxTimeMS"
<< 30000);
ASSERT_BSONOBJ_EQ(expectedCreateCmd, request.cmdObj);