summaryrefslogtreecommitdiff
path: root/src/mongo/db/s
diff options
context:
space:
mode:
authorEsha Maharishi <esha.maharishi@mongodb.com>2020-03-23 17:06:28 -0400
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-03-25 21:56:14 +0000
commitaa53e875ab30626a95bda04200d315b98bfadec4 (patch)
tree275128438230e624a59a2c65b1b88a590585cac3 /src/mongo/db/s
parent7224f2130763f2b92285bc81e7a10bd5732e8295 (diff)
downloadmongo-aa53e875ab30626a95bda04200d315b98bfadec4.tar.gz
SERVER-44236 Delete database versioning code that is for backwards compatibility with 4.2
Diffstat (limited to 'src/mongo/db/s')
-rw-r--r--src/mongo/db/s/config/configsvr_drop_database_command.cpp9
-rw-r--r--src/mongo/db/s/config/sharding_catalog_manager_create_database_test.cpp82
-rw-r--r--src/mongo/db/s/config/sharding_catalog_manager_database_operations.cpp10
3 files changed, 1 insertions, 100 deletions
diff --git a/src/mongo/db/s/config/configsvr_drop_database_command.cpp b/src/mongo/db/s/config/configsvr_drop_database_command.cpp
index a6854cd2bfa..1fd9467d3ed 100644
--- a/src/mongo/db/s/config/configsvr_drop_database_command.cpp
+++ b/src/mongo/db/s/config/configsvr_drop_database_command.cpp
@@ -182,15 +182,6 @@ public:
"admin",
BSON("_flushDatabaseCacheUpdates" << dbname),
Shard::RetryPolicy::kIdempotent));
-
- // If the shard had binary version v4.2 when it received the
- // _flushDatabaseCacheUpdates, it will have responded with NamespaceNotFound,
- // because the shard no longer has the database (see SERVER-34431). Ignore this
- // error, since once the shard is restarted in v4.4, its in-memory database version
- // will be cleared anyway.
- if (cmdResponse.commandStatus == ErrorCodes::NamespaceNotFound) {
- continue;
- }
uassertStatusOK(cmdResponse.commandStatus);
}
diff --git a/src/mongo/db/s/config/sharding_catalog_manager_create_database_test.cpp b/src/mongo/db/s/config/sharding_catalog_manager_create_database_test.cpp
index eb701d70f18..c950ca1086b 100644
--- a/src/mongo/db/s/config/sharding_catalog_manager_create_database_test.cpp
+++ b/src/mongo/db/s/config/sharding_catalog_manager_create_database_test.cpp
@@ -178,88 +178,6 @@ TEST_F(CreateDatabaseTest, createDatabaseSuccessWithCustomPrimary) {
ASSERT_EQUALS(primaryShardName, foundDatabase.getPrimary());
}
-TEST_F(CreateDatabaseTest,
- createDatabaseShardReturnsNamespaceNotFoundForFlushDatabaseCacheUpdates) {
- const std::string dbname = "db1";
-
- const std::vector<ShardType> shards{{"shard0000", "ShardHost0:27017"},
- {"shard0001", "ShardHost1:27017"},
- {"shard0002", "ShardHost2:27017"}};
- setupShards(shards);
-
- for (const auto& shard : shards) {
- targeterFactory()->addTargeterToReturn(ConnectionString(HostAndPort{shard.getHost()}), [&] {
- auto targeter = std::make_unique<RemoteCommandTargeterMock>();
- targeter->setFindHostReturnValue(HostAndPort{shard.getHost()});
- return targeter;
- }());
- }
-
- // Prime the shard registry with information about the existing shards
- shardRegistry()->reload(operationContext());
-
- auto future = launchAsync([this, dbname] {
- ThreadClient tc("Test", getServiceContext());
- auto opCtx = tc->makeOperationContext();
- ShardingCatalogManager::get(opCtx.get())->createDatabase(opCtx.get(), dbname, ShardId());
- });
-
- // Return size information about first shard
- onCommand([&](const RemoteCommandRequest& request) {
- ASSERT_EQUALS(shards[0].getHost(), request.target.toString());
- ASSERT_EQUALS("admin", request.dbname);
- std::string cmdName = request.cmdObj.firstElement().fieldName();
- ASSERT_EQUALS("listDatabases", cmdName);
- ASSERT_FALSE(request.cmdObj.hasField(repl::ReadConcernArgs::kReadConcernFieldName));
-
- ASSERT_BSONOBJ_EQ(
- ReadPreferenceSetting(ReadPreference::PrimaryPreferred).toContainingBSON(),
- rpc::TrackingMetadata::removeTrackingData(request.metadata));
-
- return BSON("ok" << 1 << "totalSize" << 10);
- });
-
- // Return size information about second shard
- onCommand([&](const RemoteCommandRequest& request) {
- ASSERT_EQUALS(shards[1].getHost(), request.target.toString());
- ASSERT_EQUALS("admin", request.dbname);
- std::string cmdName = request.cmdObj.firstElement().fieldName();
- ASSERT_EQUALS("listDatabases", cmdName);
- ASSERT_FALSE(request.cmdObj.hasField(repl::ReadConcernArgs::kReadConcernFieldName));
-
- ASSERT_BSONOBJ_EQ(
- ReadPreferenceSetting(ReadPreference::PrimaryPreferred).toContainingBSON(),
- rpc::TrackingMetadata::removeTrackingData(request.metadata));
-
- return BSON("ok" << 1 << "totalSize" << 1);
- });
-
- // Return size information about third shard
- onCommand([&](const RemoteCommandRequest& request) {
- ASSERT_EQUALS(shards[2].getHost(), request.target.toString());
- ASSERT_EQUALS("admin", request.dbname);
- std::string cmdName = request.cmdObj.firstElement().fieldName();
- ASSERT_EQUALS("listDatabases", cmdName);
-
- ASSERT_BSONOBJ_EQ(
- ReadPreferenceSetting(ReadPreference::PrimaryPreferred).toContainingBSON(),
- rpc::TrackingMetadata::removeTrackingData(request.metadata));
-
- return BSON("ok" << 1 << "totalSize" << 100);
- });
-
- // Return NamespaceNotFound for _flushDatabaseCacheUpdates
- onCommand([&](const RemoteCommandRequest& request) {
- std::string cmdName = request.cmdObj.firstElement().fieldName();
- ASSERT_EQUALS("_flushDatabaseCacheUpdates", cmdName);
-
- return BSON("ok" << 0 << "code" << ErrorCodes::NamespaceNotFound << "errmsg"
- << "dummy");
- });
-
- future.default_timed_get();
-}
-
TEST_F(CreateDatabaseTest, createDatabaseDBExists) {
const std::string dbname = "db3";
const ShardType shard{"shard0", "shard0:12345"};
diff --git a/src/mongo/db/s/config/sharding_catalog_manager_database_operations.cpp b/src/mongo/db/s/config/sharding_catalog_manager_database_operations.cpp
index 98fc81a30f3..a264c644901 100644
--- a/src/mongo/db/s/config/sharding_catalog_manager_database_operations.cpp
+++ b/src/mongo/db/s/config/sharding_catalog_manager_database_operations.cpp
@@ -198,15 +198,7 @@ DatabaseType ShardingCatalogManager::createDatabase(OperationContext* opCtx,
"admin",
BSON("_flushDatabaseCacheUpdates" << dbName),
Shard::RetryPolicy::kIdempotent));
-
- // If the shard had binary version v4.2 when it received the _flushDatabaseCacheUpdates, it will
- // have responded with NamespaceNotFound, because the shard does not have the database (see
- // SERVER-34431). Ignore this error, since the _flushDatabaseCacheUpdates is only a nicety for
- // users testing transactions, and the transaction passthrough suites do not change shard binary
- // versions.
- if (cmdResponse.commandStatus != ErrorCodes::NamespaceNotFound) {
- uassertStatusOK(cmdResponse.commandStatus);
- }
+ uassertStatusOK(cmdResponse.commandStatus);
return database;
}