diff options
Diffstat (limited to 'src/mongo/db/s/resharding_util.cpp')
-rw-r--r-- | src/mongo/db/s/resharding_util.cpp | 16 |
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, |