summaryrefslogtreecommitdiff
path: root/src/mongo/db/s/resharding_util.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/s/resharding_util.cpp')
-rw-r--r--src/mongo/db/s/resharding_util.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/mongo/db/s/resharding_util.cpp b/src/mongo/db/s/resharding_util.cpp
index e11b33f7b15..123c7b66a8b 100644
--- a/src/mongo/db/s/resharding_util.cpp
+++ b/src/mongo/db/s/resharding_util.cpp
@@ -31,6 +31,8 @@
#include "mongo/platform/basic.h"
+#include <fmt/format.h>
+
#include "mongo/bson/bsonobj.h"
#include "mongo/db/concurrency/write_conflict_exception.h"
#include "mongo/db/namespace_string.h"
@@ -47,6 +49,20 @@
#include "mongo/s/request_types/flush_routing_table_cache_updates_gen.h"
namespace mongo {
+using namespace fmt::literals;
+
+NamespaceString constructTemporaryReshardingNss(const NamespaceString& originalNss,
+ const ChunkManager& cm) {
+ auto collectionUUID = cm.getUUID();
+ uassert(ErrorCodes::InvalidUUID,
+ "Cannot reshard collection {} due to missing UUID"_format(originalNss.ns()),
+ collectionUUID);
+ NamespaceString tempReshardingNss(
+ originalNss.db(),
+ "{}{}"_format(NamespaceString::kTemporaryReshardingCollectionPrefix,
+ collectionUUID->toString()));
+ return tempReshardingNss;
+}
void tellShardsToRefresh(OperationContext* opCtx,
const std::vector<ShardId>& shardIds,