summaryrefslogtreecommitdiff
path: root/src/mongo/db/storage/wiredtiger/wiredtiger_prepare_conflict.h
diff options
context:
space:
mode:
authorVesselina Ratcheva <vesselina.ratcheva@10gen.com>2019-05-30 18:12:57 -0400
committerVesselina Ratcheva <vesselina.ratcheva@10gen.com>2019-06-05 13:26:58 -0400
commit3d7e1566f455b2ba17ccf661f78eff6fefe5e1ee (patch)
treefbe41bd080898adb19b51f73d017246915623d4a /src/mongo/db/storage/wiredtiger/wiredtiger_prepare_conflict.h
parent24ebd1d1f6d7a05e80bff9b14fa6a3e2ff35cc86 (diff)
downloadmongo-3d7e1566f455b2ba17ccf661f78eff6fefe5e1ee.tar.gz
SERVER-41034 Invariant if we get a prepare conflict inside runWithoutInterruptionExceptAtGlobalShutdown block
Diffstat (limited to 'src/mongo/db/storage/wiredtiger/wiredtiger_prepare_conflict.h')
-rw-r--r--src/mongo/db/storage/wiredtiger/wiredtiger_prepare_conflict.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_prepare_conflict.h b/src/mongo/db/storage/wiredtiger/wiredtiger_prepare_conflict.h
index 835d985041a..d2de945877d 100644
--- a/src/mongo/db/storage/wiredtiger/wiredtiger_prepare_conflict.h
+++ b/src/mongo/db/storage/wiredtiger/wiredtiger_prepare_conflict.h
@@ -79,6 +79,12 @@ int wiredTigerPrepareConflictRetry(OperationContext* opCtx, F&& f) {
PrepareConflictTracker::get(opCtx).beginPrepareConflict();
+ // It is contradictory to be running into a prepare conflict when we are ignoring interruptions,
+ // particularly when running code inside an
+ // OperationContext::runWithoutInterruptionExceptAtGlobalShutdown block. Operations executed in
+ // this way are expected to be set to ignore prepare conflicts.
+ invariant(!opCtx->isIgnoringInterrupts());
+
if (MONGO_FAIL_POINT(WTPrintPrepareConflictLog)) {
wiredTigerPrepareConflictFailPointLog();
}