Skip to content

Commit

Permalink
SERVER-29160 bump timeout for migration operations
Browse files Browse the repository at this point in the history
  • Loading branch information
mikety committed Sep 25, 2018
1 parent c5b5185 commit 3f618b8
Show file tree
Hide file tree
Showing 20 changed files with 33 additions and 21 deletions.
2 changes: 1 addition & 1 deletion src/mongo/db/commands.cpp
Expand Up @@ -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,
Expand Down
2 changes: 1 addition & 1 deletion src/mongo/db/s/balancer/migration_manager.cpp
Expand Up @@ -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.
Expand Down
2 changes: 1 addition & 1 deletion src/mongo/db/s/balancer/scoped_migration_request.cpp
Expand Up @@ -43,7 +43,7 @@ namespace {

const WriteConcernOptions kMajorityWriteConcern(WriteConcernOptions::kMajority,
WriteConcernOptions::SyncMode::UNSET,
Seconds(15));
WriteConcernOptions::kWriteConcernTimeoutMigration);
const int kDuplicateKeyErrorMaxRetries = 2;

} // namespace
Expand Down
2 changes: 1 addition & 1 deletion src/mongo/db/s/collection_range_deleter.cpp
Expand Up @@ -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) {
Expand Down
2 changes: 1 addition & 1 deletion src/mongo/db/s/config/configsvr_move_primary_command.cpp
Expand Up @@ -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.
Expand Down
Expand Up @@ -370,7 +370,7 @@ TEST_F(AddShardTest, CreateShardIdentityUpsertForAddShard) {
<< BSON("w"
<< "majority"
<< "wtimeout"
<< 15000)
<< 60000)
<< "allowImplicitCollectionCreation"
<< true);
auto addShardCmd = add_shard_util::createAddShardCmd(operationContext(), shardName);
Expand Down
2 changes: 1 addition & 1 deletion src/mongo/db/s/migration_source_manager.cpp
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion src/mongo/db/s/sharding_state_recovery.cpp
Expand Up @@ -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,
Expand Down
9 changes: 5 additions & 4 deletions src/mongo/db/sessions_collection.cpp
Expand Up @@ -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) {
Expand Down
5 changes: 5 additions & 0 deletions src/mongo/db/write_concern_options.cpp
Expand Up @@ -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)) {}
Expand Down
5 changes: 5 additions & 0 deletions src/mongo/db/write_concern_options.h
Expand Up @@ -50,6 +50,11 @@ struct WriteConcernOptions {
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();
}
Expand Down
2 changes: 1 addition & 1 deletion src/mongo/s/catalog/dist_lock_catalog.cpp
Expand Up @@ -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;

Expand Down
3 changes: 2 additions & 1 deletion src/mongo/s/catalog/sharding_catalog_client.cpp
Expand Up @@ -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 {
Expand All @@ -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));
Expand Down
2 changes: 1 addition & 1 deletion src/mongo/s/catalog/sharding_catalog_test.cpp
Expand Up @@ -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));
Expand Down
2 changes: 1 addition & 1 deletion src/mongo/s/commands/cluster_add_shard_to_zone_cmd.cpp
Expand Up @@ -50,7 +50,7 @@ const WriteConcernOptions kMajorityWriteConcern(WriteConcernOptions::kMajority,
// writeConcernMajorityJournalDefault is set to true
// in the ReplSetConfig.
WriteConcernOptions::SyncMode::UNSET,
Seconds(15));
WriteConcernOptions::kWriteConcernTimeoutSharding);

/**
* {
Expand Down
Expand Up @@ -57,7 +57,7 @@ const WriteConcernOptions kMajorityWriteConcern(WriteConcernOptions::kMajority,
// writeConcernMajorityJournalDefault is set to true
// in the ReplSetConfig.
WriteConcernOptions::SyncMode::UNSET,
Seconds(15));
WriteConcernOptions::kWriteConcernTimeoutSharding);

/**
* {
Expand Down
2 changes: 1 addition & 1 deletion src/mongo/s/commands/cluster_update_zone_key_range_cmd.cpp
Expand Up @@ -58,7 +58,7 @@ const WriteConcernOptions kMajorityWriteConcern(WriteConcernOptions::kMajority,
// writeConcernMajorityJournalDefault is set to true
// in the ReplSetConfig.
WriteConcernOptions::SyncMode::UNSET,
Seconds(15));
WriteConcernOptions::kWriteConcernTimeoutSharding);

/**
* {
Expand Down
2 changes: 1 addition & 1 deletion src/mongo/s/commands/cluster_user_management_commands.cpp
Expand Up @@ -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:
Expand Down
2 changes: 1 addition & 1 deletion src/mongo/s/request_types/add_shard_request_type.cpp
Expand Up @@ -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)
Expand Down
2 changes: 1 addition & 1 deletion src/mongo/s/sharding_router_test_fixture.cpp
Expand Up @@ -354,7 +354,7 @@ void ShardingTestFixture::expectConfigCollectionCreate(const HostAndPort& config
<< BSON("w"
<< "majority"
<< "wtimeout"
<< 15000)
<< 60000)
<< "maxTimeMS"
<< 30000);
ASSERT_BSONOBJ_EQ(expectedCreateCmd, request.cmdObj);
Expand Down

0 comments on commit 3f618b8

Please sign in to comment.