summaryrefslogtreecommitdiff
path: root/src/mongo/db/serverless
diff options
context:
space:
mode:
authorJordi Serra Torrens <jordi.serra-torrens@mongodb.com>2022-09-28 10:11:50 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-11-04 18:50:12 +0000
commit53973727e253d8b797bc0b2a734326d4e3fdad6d (patch)
treed4cf0a1effcc98ab265b44317194658c975775b7 /src/mongo/db/serverless
parent05cf56be4fdfa33c88d47dfb48f95a60c9cc7e09 (diff)
downloadmongo-53973727e253d8b797bc0b2a734326d4e3fdad6d.tar.gz
SERVER-70043 Thread-through CollectionPtr into the onDelete OpObserver
Co-authored-by: Daniel Gómez Ferro <daniel.gomezferro@mongodb.com>
Diffstat (limited to 'src/mongo/db/serverless')
-rw-r--r--src/mongo/db/serverless/shard_split_donor_op_observer.cpp10
-rw-r--r--src/mongo/db/serverless/shard_split_donor_op_observer.h6
-rw-r--r--src/mongo/db/serverless/shard_split_donor_op_observer_test.cpp20
3 files changed, 12 insertions, 24 deletions
diff --git a/src/mongo/db/serverless/shard_split_donor_op_observer.cpp b/src/mongo/db/serverless/shard_split_donor_op_observer.cpp
index 54e33417d40..7f43900fa05 100644
--- a/src/mongo/db/serverless/shard_split_donor_op_observer.cpp
+++ b/src/mongo/db/serverless/shard_split_donor_op_observer.cpp
@@ -357,10 +357,9 @@ void ShardSplitDonorOpObserver::onUpdate(OperationContext* opCtx,
}
void ShardSplitDonorOpObserver::aboutToDelete(OperationContext* opCtx,
- NamespaceString const& nss,
- const UUID& uuid,
+ const CollectionPtr& coll,
BSONObj const& doc) {
- if (nss != NamespaceString::kShardSplitDonorsNamespace ||
+ if (coll->ns() != NamespaceString::kShardSplitDonorsNamespace ||
tenant_migration_access_blocker::inRecoveryMode(opCtx)) {
return;
}
@@ -390,11 +389,10 @@ void ShardSplitDonorOpObserver::aboutToDelete(OperationContext* opCtx,
}
void ShardSplitDonorOpObserver::onDelete(OperationContext* opCtx,
- const NamespaceString& nss,
- const UUID& uuid,
+ const CollectionPtr& coll,
StmtId stmtId,
const OplogDeleteEntryArgs& args) {
- if (nss != NamespaceString::kShardSplitDonorsNamespace || !splitCleanupDetails(opCtx) ||
+ if (coll->ns() != NamespaceString::kShardSplitDonorsNamespace || !splitCleanupDetails(opCtx) ||
tenant_migration_access_blocker::inRecoveryMode(opCtx)) {
return;
}
diff --git a/src/mongo/db/serverless/shard_split_donor_op_observer.h b/src/mongo/db/serverless/shard_split_donor_op_observer.h
index efe1d43fc3b..092b9f1f1f7 100644
--- a/src/mongo/db/serverless/shard_split_donor_op_observer.h
+++ b/src/mongo/db/serverless/shard_split_donor_op_observer.h
@@ -111,13 +111,11 @@ public:
void onUpdate(OperationContext* opCtx, const OplogUpdateEntryArgs& args) final;
void aboutToDelete(OperationContext* opCtx,
- const NamespaceString& nss,
- const UUID& uuid,
+ const CollectionPtr& coll,
const BSONObj& doc) final;
void onDelete(OperationContext* opCtx,
- const NamespaceString& nss,
- const UUID& uuid,
+ const CollectionPtr& coll,
StmtId stmtId,
const OplogDeleteEntryArgs& args) final;
diff --git a/src/mongo/db/serverless/shard_split_donor_op_observer_test.cpp b/src/mongo/db/serverless/shard_split_donor_op_observer_test.cpp
index b644356c301..cc679386b00 100644
--- a/src/mongo/db/serverless/shard_split_donor_op_observer_test.cpp
+++ b/src/mongo/db/serverless/shard_split_donor_op_observer_test.cpp
@@ -467,17 +467,13 @@ TEST_F(ShardSplitDonorOpObserverTest, DeleteAbortedDocumentDoesNotRemoveBlockers
auto bsonDoc = stateDocument.toBSON();
WriteUnitOfWork wuow(_opCtx.get());
- _observer->aboutToDelete(
- _opCtx.get(), NamespaceString::kShardSplitDonorsNamespace, UUID::gen(), bsonDoc);
+ AutoGetCollection autoColl(_opCtx.get(), NamespaceString::kShardSplitDonorsNamespace, MODE_IX);
+ _observer->aboutToDelete(_opCtx.get(), *autoColl, bsonDoc);
OplogDeleteEntryArgs deleteArgs;
deleteArgs.deletedDoc = &bsonDoc;
- _observer->onDelete(_opCtx.get(),
- NamespaceString::kShardSplitDonorsNamespace,
- UUID::gen(),
- 0 /* stmtId */,
- deleteArgs);
+ _observer->onDelete(_opCtx.get(), *autoColl, 0 /* stmtId */, deleteArgs);
wuow.commit();
// Verify blockers have not been removed
@@ -509,17 +505,13 @@ TEST_F(ShardSplitDonorOpObserverTest, DeleteCommittedDocumentRemovesBlockers) {
auto bsonDoc = stateDocument.toBSON();
WriteUnitOfWork wuow(_opCtx.get());
- _observer->aboutToDelete(
- _opCtx.get(), NamespaceString::kShardSplitDonorsNamespace, UUID::gen(), bsonDoc);
+ AutoGetCollection autoColl(_opCtx.get(), NamespaceString::kShardSplitDonorsNamespace, MODE_IX);
+ _observer->aboutToDelete(_opCtx.get(), *autoColl, bsonDoc);
OplogDeleteEntryArgs deleteArgs;
deleteArgs.deletedDoc = &bsonDoc;
- _observer->onDelete(_opCtx.get(),
- NamespaceString::kShardSplitDonorsNamespace,
- UUID::gen(),
- 0 /* stmtId */,
- deleteArgs);
+ _observer->onDelete(_opCtx.get(), *autoColl, 0 /* stmtId */, deleteArgs);
wuow.commit();
// Verify blockers have been removed