summaryrefslogtreecommitdiff
path: root/src/mongo/db/ops/update.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/ops/update.cpp')
-rw-r--r--src/mongo/db/ops/update.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/mongo/db/ops/update.cpp b/src/mongo/db/ops/update.cpp
index 078d2f30f25..86822feef00 100644
--- a/src/mongo/db/ops/update.cpp
+++ b/src/mongo/db/ops/update.cpp
@@ -86,7 +86,7 @@ UpdateResult update(OperationContext* opCtx, Database* db, const UpdateRequest&
invariant(locker->isW() ||
locker->isLockHeldForMode(ResourceId(RESOURCE_DATABASE, nsString.db()), MODE_X));
- MONGO_WRITE_CONFLICT_RETRY_LOOP_BEGIN {
+ writeConflictRetry(opCtx, "createCollection", nsString.ns(), [&] {
Lock::DBLock lk(opCtx, nsString.db(), MODE_X);
const bool userInitiatedWritesAndNotPrimary = opCtx->writesAreReplicated() &&
@@ -102,8 +102,7 @@ UpdateResult update(OperationContext* opCtx, Database* db, const UpdateRequest&
collection = db->createCollection(opCtx, nsString.ns(), CollectionOptions());
invariant(collection);
wuow.commit();
- }
- MONGO_WRITE_CONFLICT_RETRY_LOOP_END(opCtx, "createCollection", nsString.ns());
+ });
}
// Parse the update, get an executor for it, run the executor, get stats out.