summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJack Mulrow <jack.mulrow@mongodb.com>2023-04-09 23:31:40 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2023-04-10 00:08:41 +0000
commita37946ca13ae1d1bab79b8e47fd9d70d2ee0cf27 (patch)
tree59c04f6418b70ec905a4276b95ffa8570165d05a
parentc88c5dd8a49a276abc5d36018bbff9a72e7cb500 (diff)
downloadmongo-a37946ca13ae1d1bab79b8e47fd9d70d2ee0cf27.tar.gz
SERVER-75849 updateReplicaSetOnConfigServer should not skip config server
-rw-r--r--jstests/sharding/mongos_no_replica_set_refresh.js1
-rw-r--r--jstests/sharding/repl_monitor_refresh.js2
-rw-r--r--jstests/sharding/sharding_rs2.js7
-rw-r--r--src/mongo/s/client/shard_registry.cpp11
4 files changed, 7 insertions, 14 deletions
diff --git a/jstests/sharding/mongos_no_replica_set_refresh.js b/jstests/sharding/mongos_no_replica_set_refresh.js
index 227d9855f24..7cd42e3e947 100644
--- a/jstests/sharding/mongos_no_replica_set_refresh.js
+++ b/jstests/sharding/mongos_no_replica_set_refresh.js
@@ -1,5 +1,4 @@
// Tests that mongos and the shard discover changes to the shard's replica set membership.
-// @tags: [temporary_catalog_shard_incompatible]
load("jstests/replsets/rslib.js");
(function() {
diff --git a/jstests/sharding/repl_monitor_refresh.js b/jstests/sharding/repl_monitor_refresh.js
index c5cbed3c20d..90041649f12 100644
--- a/jstests/sharding/repl_monitor_refresh.js
+++ b/jstests/sharding/repl_monitor_refresh.js
@@ -3,7 +3,7 @@ load("jstests/replsets/rslib.js");
/**
* Test for making sure that the replica seed list in the config server does not
* become invalid when a replica set reconfig happens.
- * @tags: [multiversion_incompatible, temporary_catalog_shard_incompatible]
+ * @tags: [multiversion_incompatible]
*/
(function() {
"use strict";
diff --git a/jstests/sharding/sharding_rs2.js b/jstests/sharding/sharding_rs2.js
index 33df001f014..dbeca63a78e 100644
--- a/jstests/sharding/sharding_rs2.js
+++ b/jstests/sharding/sharding_rs2.js
@@ -8,7 +8,6 @@
// storage engines which do not support the command.
// @tags: [
// requires_fsync,
-// temporary_catalog_shard_incompatible,
// ]
(function() {
@@ -67,7 +66,11 @@ function countNodes() {
assert.eq(2, countNodes(), "A1");
var rs = s.rs0;
-rs.add({'shardsvr': ""});
+if (!TestData.catalogShard) {
+ rs.add({'shardsvr': ""});
+} else {
+ rs.add({'configsvr': ""});
+}
try {
rs.reInitiate();
} catch (e) {
diff --git a/src/mongo/s/client/shard_registry.cpp b/src/mongo/s/client/shard_registry.cpp
index fa33c528dd1..e68c1985a9a 100644
--- a/src/mongo/s/client/shard_registry.cpp
+++ b/src/mongo/s/client/shard_registry.cpp
@@ -466,15 +466,6 @@ void ShardRegistry::updateReplicaSetOnConfigServer(ServiceContext* serviceContex
auto const grid = Grid::get(opCtx.get());
auto sr = grid->shardRegistry();
- // First check if this is a config shard lookup.
- {
- stdx::lock_guard<Latch> lk(sr->_mutex);
- if (auto shard = sr->_configShardData.findByRSName(connStr.getSetName())) {
- // No need to tell the config servers their own connection string.
- return;
- }
- }
-
auto swRegistryData = sr->_getDataAsync().getNoThrow(opCtx.get());
if (!swRegistryData.isOK()) {
LOGV2_DEBUG(
@@ -500,7 +491,7 @@ void ShardRegistry::updateReplicaSetOnConfigServer(ServiceContext* serviceContex
NamespaceString::kConfigsvrShardsNamespace,
BSON(ShardType::name(shard->getId().toString())),
BSON("$set" << BSON(ShardType::host(connStr.toString()))),
- false,
+ false /* upsert */,
ShardingCatalogClient::kMajorityWriteConcern);
auto status = swWasUpdated.getStatus();
if (!status.isOK()) {