summaryrefslogtreecommitdiff
path: root/src/mongo/db/namespace_string.cpp
diff options
context:
space:
mode:
authorSergi Mateo Bellido <sergi.mateo-bellido@mongodb.com>2022-05-12 17:03:11 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-05-12 18:06:03 +0000
commitcc33146088335da2bc08edf4eeec7d6b9fd724f0 (patch)
tree77425ab50f3d44bad56b8238d564a1615b5c2408 /src/mongo/db/namespace_string.cpp
parent181a405baf42fc204e924dcde8f246d6f40a09bb (diff)
downloadmongo-cc33146088335da2bc08edf4eeec7d6b9fd724f0.tar.gz
SERVER-64433 Recovering the topology tick points on startup/init sync
Diffstat (limited to 'src/mongo/db/namespace_string.cpp')
-rw-r--r--src/mongo/db/namespace_string.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/mongo/db/namespace_string.cpp b/src/mongo/db/namespace_string.cpp
index cc02a9027a3..26f9249996e 100644
--- a/src/mongo/db/namespace_string.cpp
+++ b/src/mongo/db/namespace_string.cpp
@@ -166,6 +166,10 @@ const NamespaceString NamespaceString::kCompactStructuredEncryptionCoordinatorNa
const NamespaceString NamespaceString::kClusterParametersNamespace(NamespaceString::kConfigDb,
"clusterParameters");
+// TODO (SERVER-66431): replace all usages of ShardType::ConfigNS by kConfigsvrShardsNamespace
+const NamespaceString NamespaceString::kConfigsvrShardsNamespace(NamespaceString::kConfigDb,
+ "shards");
+
NamespaceString NamespaceString::parseFromStringExpectTenantIdInMultitenancyMode(StringData ns) {
if (!gMultitenancySupport) {
return NamespaceString(ns, boost::none);
@@ -252,12 +256,16 @@ bool NamespaceString::isLegalClientSystemNS(
*
* Process updates to config.tenantMigrationRecipients individually so they serialize after inserts
* into config.donatedFiles.<migrationId>.
+ *
+ * Oplog entries on 'config.shards' should be processed one at a time, otherwise the in-memory state
+ * that its kept on the TopologyTimeTicker might be wrong.
+ *
*/
bool NamespaceString::mustBeAppliedInOwnOplogBatch() const {
return isSystemDotViews() || isServerConfigurationCollection() || isPrivilegeCollection() ||
_ns == kDonorReshardingOperationsNamespace.ns() ||
_ns == kForceOplogBatchBoundaryNamespace.ns() ||
- _ns == kTenantMigrationRecipientsNamespace.ns();
+ _ns == kTenantMigrationRecipientsNamespace.ns() || _ns == kConfigsvrShardsNamespace.ns();
}
NamespaceString NamespaceString::makeListCollectionsNSS(const DatabaseName& dbName) {