summaryrefslogtreecommitdiff
path: root/src/mongo/db/s/collection_metadata.cpp
diff options
context:
space:
mode:
authorjannaerin <golden.janna@gmail.com>2021-02-09 19:59:22 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-02-10 20:36:01 +0000
commitcccf2ee27bcf254f4533d5ec38b584d24fbb4437 (patch)
treebbc5d81efcaa9ef532620786e9890e4081ce7757 /src/mongo/db/s/collection_metadata.cpp
parentc0f5f18e8013dd81512865d9745e1eb8f3a20140 (diff)
downloadmongo-cccf2ee27bcf254f4533d5ec38b584d24fbb4437.tar.gz
SERVER-52771 Disallow createIndexes, dropIndexes, and collMod on donor shards during resharding
Diffstat (limited to 'src/mongo/db/s/collection_metadata.cpp')
-rw-r--r--src/mongo/db/s/collection_metadata.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/mongo/db/s/collection_metadata.cpp b/src/mongo/db/s/collection_metadata.cpp
index c9c1a9f9a3a..d3b10873ed0 100644
--- a/src/mongo/db/s/collection_metadata.cpp
+++ b/src/mongo/db/s/collection_metadata.cpp
@@ -38,6 +38,7 @@
#include "mongo/bson/simple_bsonobj_comparator.h"
#include "mongo/bson/util/builder.h"
#include "mongo/db/bson/dotted_path_support.h"
+#include "mongo/logv2/log.h"
#include "mongo/s/catalog/type_chunk.h"
#include "mongo/util/str.h"
@@ -93,6 +94,15 @@ boost::optional<ShardKeyPattern> CollectionMetadata::getReshardingKeyIfShouldFor
return ShardKeyPattern(donorFields->getReshardingKey());
}
+void CollectionMetadata::throwIfReshardingInProgress(NamespaceString const& nss) const {
+ if (isSharded() && getReshardingFields()) {
+ LOGV2(5277122, "reshardCollection in progress", "namespace"_attr = nss.toString());
+
+ uasserted(ErrorCodes::ReshardCollectionInProgress,
+ "reshardCollection is in progress for namespace " + nss.toString());
+ }
+}
+
bool CollectionMetadata::disallowWritesForResharding(const UUID& currentCollectionUUID) const {
if (!isSharded())
return false;