diff options
author | Dianna <dianna.hohensee@10gen.com> | 2019-04-26 13:28:01 -0400 |
---|---|---|
committer | Dianna <dianna.hohensee@10gen.com> | 2019-04-30 16:50:00 -0400 |
commit | 11681d3507d05bf2c5b7873d96239b3bbfbca0dd (patch) | |
tree | c002cb9a67a15b5bc6d7113a7cc275fd8b94051c /src/mongo/db/catalog | |
parent | cad0509bf1a5ad7b922de7fd80121534504df081 (diff) | |
download | mongo-11681d3507d05bf2c5b7873d96239b3bbfbca0dd.tar.gz |
SERVER-39424 Test that a DDL op started after a prepared transaction fails during shutdown
Diffstat (limited to 'src/mongo/db/catalog')
-rw-r--r-- | src/mongo/db/catalog/drop_collection.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mongo/db/catalog/drop_collection.cpp b/src/mongo/db/catalog/drop_collection.cpp index d48064b8ffc..6cf54a572ad 100644 --- a/src/mongo/db/catalog/drop_collection.cpp +++ b/src/mongo/db/catalog/drop_collection.cpp @@ -49,6 +49,7 @@ namespace mongo { +MONGO_FAIL_POINT_DEFINE(hangDropCollectionBeforeLockAcquisition); MONGO_FAIL_POINT_DEFINE(hangDuringDropCollection); Status _dropView(OperationContext* opCtx, @@ -155,6 +156,10 @@ Status dropCollection(OperationContext* opCtx, log() << "CMD: drop " << collectionName; } + if (MONGO_FAIL_POINT(hangDropCollectionBeforeLockAcquisition)) { + log() << "Hanging drop collection before lock acquisition while fail point is set"; + MONGO_FAIL_POINT_PAUSE_WHILE_SET(hangDropCollectionBeforeLockAcquisition); + } return writeConflictRetry(opCtx, "drop", collectionName.ns(), [&] { // TODO(SERVER-39520): Get rid of database MODE_X lock. auto autoDb = std::make_unique<AutoGetDb>(opCtx, collectionName.db(), MODE_IX); |