summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenety Goh <benety@mongodb.com>2021-10-04 14:47:20 -0400
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-10-04 19:00:21 +0000
commit6940a21899491ade7aab2fb95bfffc7fcd8d2e5c (patch)
treed202106e5cab16decf2fb8ab550f7776a26d9e9f
parent9fdb2031fba405e77368e5780722db7681c4a47f (diff)
downloadmongo-6940a21899491ade7aab2fb95bfffc7fcd8d2e5c.tar.gz
Revert "SERVER-58385 StorageInterface::setIndexIsMultikey() accepts collection UUID"
This reverts commit a53ec12efc9f58a56fa7255ffed2e926d33e8269.
-rw-r--r--src/mongo/db/repl/oplog_applier_impl.cpp1
-rw-r--r--src/mongo/db/repl/storage_interface.h1
-rw-r--r--src/mongo/db/repl/storage_interface_impl.cpp18
-rw-r--r--src/mongo/db/repl/storage_interface_impl.h1
-rw-r--r--src/mongo/db/repl/storage_interface_impl_test.cpp32
-rw-r--r--src/mongo/db/repl/storage_interface_mock.h1
6 files changed, 17 insertions, 37 deletions
diff --git a/src/mongo/db/repl/oplog_applier_impl.cpp b/src/mongo/db/repl/oplog_applier_impl.cpp
index f3ff709844a..d94e3b24b0d 100644
--- a/src/mongo/db/repl/oplog_applier_impl.cpp
+++ b/src/mongo/db/repl/oplog_applier_impl.cpp
@@ -769,7 +769,6 @@ StatusWith<OpTime> OplogApplierImpl::_applyOplogBatch(OperationContext* opCtx,
fassert(50686,
_storageInterface->setIndexIsMultikey(opCtx,
info.nss,
- info.collectionUUID,
info.indexName,
info.multikeyMetadataKeys,
info.multikeyPaths,
diff --git a/src/mongo/db/repl/storage_interface.h b/src/mongo/db/repl/storage_interface.h
index dd99ccd0152..5b6f8ec07ad 100644
--- a/src/mongo/db/repl/storage_interface.h
+++ b/src/mongo/db/repl/storage_interface.h
@@ -184,7 +184,6 @@ public:
*/
virtual Status setIndexIsMultikey(OperationContext* opCtx,
const NamespaceString& nss,
- const UUID& collectionUUID,
const std::string& indexName,
const KeyStringSet& multikeyMetadataKeys,
const MultikeyPaths& paths,
diff --git a/src/mongo/db/repl/storage_interface_impl.cpp b/src/mongo/db/repl/storage_interface_impl.cpp
index 3f53b30474f..b11ab834531 100644
--- a/src/mongo/db/repl/storage_interface_impl.cpp
+++ b/src/mongo/db/repl/storage_interface_impl.cpp
@@ -561,7 +561,6 @@ Status StorageInterfaceImpl::renameCollection(OperationContext* opCtx,
Status StorageInterfaceImpl::setIndexIsMultikey(OperationContext* opCtx,
const NamespaceString& nss,
- const UUID& collectionUUID,
const std::string& indexName,
const KeyStringSet& multikeyMetadataKeys,
const MultikeyPaths& paths,
@@ -569,19 +568,13 @@ Status StorageInterfaceImpl::setIndexIsMultikey(OperationContext* opCtx,
if (ts.isNull()) {
return Status(ErrorCodes::InvalidOptions,
str::stream() << "Cannot set index " << indexName << " on " << nss.ns()
- << " (" << collectionUUID << ") as multikey at null timestamp");
+ << " as multikey at null timestamp");
}
return writeConflictRetry(opCtx, "StorageInterfaceImpl::setIndexIsMultikey", nss.ns(), [&] {
- const NamespaceStringOrUUID nsOrUUID(nss);
- boost::optional<AutoGetCollection> autoColl;
- try {
- autoColl.emplace(opCtx, nsOrUUID, MODE_IX);
- } catch (ExceptionFor<ErrorCodes::NamespaceNotFound>& ex) {
- return ex.toStatus();
- }
+ AutoGetCollection autoColl(opCtx, nss, MODE_IX);
auto collectionResult = getCollection(
- *autoColl, nsOrUUID, "The collection must exist before setting an index to multikey.");
+ autoColl, nss, "The collection must exist before setting an index to multikey.");
if (!collectionResult.isOK()) {
return collectionResult.getStatus();
}
@@ -597,9 +590,8 @@ Status StorageInterfaceImpl::setIndexIsMultikey(OperationContext* opCtx,
opCtx, indexName, true /* includeUnfinishedIndexes */);
if (!idx) {
return Status(ErrorCodes::IndexNotFound,
- str::stream()
- << "Could not find index " << indexName << " in " << nss.ns() << " ("
- << collectionUUID << ") to set to multikey.");
+ str::stream() << "Could not find index " << indexName << " in "
+ << nss.ns() << " to set to multikey.");
}
collection->getIndexCatalog()->setMultikeyPaths(opCtx, idx, multikeyMetadataKeys, paths);
wunit.commit();
diff --git a/src/mongo/db/repl/storage_interface_impl.h b/src/mongo/db/repl/storage_interface_impl.h
index b7781e5a4b5..c9d4b7749fc 100644
--- a/src/mongo/db/repl/storage_interface_impl.h
+++ b/src/mongo/db/repl/storage_interface_impl.h
@@ -94,7 +94,6 @@ public:
Status setIndexIsMultikey(OperationContext* opCtx,
const NamespaceString& nss,
- const UUID& collectionUUID,
const std::string& indexName,
const KeyStringSet& multikeyMetadataKeys,
const MultikeyPaths& paths,
diff --git a/src/mongo/db/repl/storage_interface_impl_test.cpp b/src/mongo/db/repl/storage_interface_impl_test.cpp
index 74df47cbdb3..6a7ab527f0d 100644
--- a/src/mongo/db/repl/storage_interface_impl_test.cpp
+++ b/src/mongo/db/repl/storage_interface_impl_test.cpp
@@ -2606,9 +2606,8 @@ TEST_F(StorageInterfaceImplTest, SetIndexIsMultikeyReturnsNamespaceNotFoundForMi
auto opCtx = getOperationContext();
StorageInterfaceImpl storage;
auto nss = makeNamespace(_agent);
- ASSERT_EQUALS(
- ErrorCodes::NamespaceNotFound,
- storage.setIndexIsMultikey(opCtx, nss, UUID::gen(), "foo", {}, {}, Timestamp(3, 3)));
+ ASSERT_EQUALS(ErrorCodes::NamespaceNotFound,
+ storage.setIndexIsMultikey(opCtx, nss, "foo", {}, {}, Timestamp(3, 3)));
}
TEST_F(StorageInterfaceImplTest, SetIndexIsMultikeyReturnsNamespaceNotFoundForMissingCollection) {
@@ -2617,39 +2616,33 @@ TEST_F(StorageInterfaceImplTest, SetIndexIsMultikeyReturnsNamespaceNotFoundForMi
auto nss = makeNamespace(_agent);
NamespaceString wrongColl(nss.db(), "wrongColl"_sd);
ASSERT_OK(storage.createCollection(opCtx, nss, CollectionOptions()));
- ASSERT_EQUALS(
- ErrorCodes::NamespaceNotFound,
- storage.setIndexIsMultikey(opCtx, wrongColl, UUID::gen(), "foo", {}, {}, Timestamp(3, 3)));
+ ASSERT_EQUALS(ErrorCodes::NamespaceNotFound,
+ storage.setIndexIsMultikey(opCtx, wrongColl, "foo", {}, {}, Timestamp(3, 3)));
}
TEST_F(StorageInterfaceImplTest, SetIndexIsMultikeyReturnsIndexNotFoundForMissingIndex) {
auto opCtx = getOperationContext();
StorageInterfaceImpl storage;
auto nss = makeNamespace(_agent);
- auto options = generateOptionsWithUuid();
- ASSERT_OK(storage.createCollection(opCtx, nss, options));
- ASSERT_EQUALS(
- ErrorCodes::IndexNotFound,
- storage.setIndexIsMultikey(opCtx, nss, *options.uuid, "foo", {}, {}, Timestamp(3, 3)));
+ ASSERT_OK(storage.createCollection(opCtx, nss, CollectionOptions()));
+ ASSERT_EQUALS(ErrorCodes::IndexNotFound,
+ storage.setIndexIsMultikey(opCtx, nss, "foo", {}, {}, Timestamp(3, 3)));
}
TEST_F(StorageInterfaceImplTest, SetIndexIsMultikeyReturnsInvalidOptionsForNullTimestamp) {
auto opCtx = getOperationContext();
StorageInterfaceImpl storage;
auto nss = makeNamespace(_agent);
- auto options = generateOptionsWithUuid();
- ASSERT_OK(storage.createCollection(opCtx, nss, options));
- ASSERT_EQUALS(
- ErrorCodes::InvalidOptions,
- storage.setIndexIsMultikey(opCtx, nss, *options.uuid, "foo", {}, {}, Timestamp()));
+ ASSERT_OK(storage.createCollection(opCtx, nss, CollectionOptions()));
+ ASSERT_EQUALS(ErrorCodes::InvalidOptions,
+ storage.setIndexIsMultikey(opCtx, nss, "foo", {}, {}, Timestamp()));
}
TEST_F(StorageInterfaceImplTest, SetIndexIsMultikeySucceeds) {
auto opCtx = getOperationContext();
StorageInterfaceImpl storage;
auto nss = makeNamespace(_agent);
- auto options = generateOptionsWithUuid();
- ASSERT_OK(storage.createCollection(opCtx, nss, options));
+ ASSERT_OK(storage.createCollection(opCtx, nss, CollectionOptions()));
auto indexName = "a_b_1";
auto indexSpec = BSON("name" << indexName << "key" << BSON("a.b" << 1) << "v"
@@ -2657,8 +2650,7 @@ TEST_F(StorageInterfaceImplTest, SetIndexIsMultikeySucceeds) {
ASSERT_EQUALS(_createIndexOnEmptyCollection(opCtx, nss, indexSpec), 2);
MultikeyPaths paths = {{1}};
- ASSERT_OK(storage.setIndexIsMultikey(
- opCtx, nss, *options.uuid, indexName, {}, paths, Timestamp(3, 3)));
+ ASSERT_OK(storage.setIndexIsMultikey(opCtx, nss, indexName, {}, paths, Timestamp(3, 3)));
AutoGetCollectionForReadCommand autoColl(opCtx, nss);
ASSERT_TRUE(autoColl.getCollection());
auto indexCatalog = autoColl.getCollection()->getIndexCatalog();
diff --git a/src/mongo/db/repl/storage_interface_mock.h b/src/mongo/db/repl/storage_interface_mock.h
index c78338bf79c..11bb6213690 100644
--- a/src/mongo/db/repl/storage_interface_mock.h
+++ b/src/mongo/db/repl/storage_interface_mock.h
@@ -190,7 +190,6 @@ public:
Status setIndexIsMultikey(OperationContext* opCtx,
const NamespaceString& nss,
- const UUID& collectionUUID,
const std::string& indexName,
const KeyStringSet& multikeyMetadataKeys,
const MultikeyPaths& paths,