diff options
author | Vesselina Ratcheva <vesselina.ratcheva@10gen.com> | 2019-05-30 18:12:57 -0400 |
---|---|---|
committer | Vesselina Ratcheva <vesselina.ratcheva@10gen.com> | 2019-06-05 13:26:58 -0400 |
commit | 3d7e1566f455b2ba17ccf661f78eff6fefe5e1ee (patch) | |
tree | fbe41bd080898adb19b51f73d017246915623d4a /src/mongo/db/storage/wiredtiger/wiredtiger_prepare_conflict.h | |
parent | 24ebd1d1f6d7a05e80bff9b14fa6a3e2ff35cc86 (diff) | |
download | mongo-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.h | 6 |
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(); } |