diff options
author | Kshitij Gupta <kshitij.gupta@mongodb.com> | 2020-06-23 18:01:58 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2020-08-05 01:47:38 +0000 |
commit | a85277d4c53722830121cb3f447effa6cc70fd3d (patch) | |
tree | acb8c301fd994223ba7bf58f0ccb8892775065b1 | |
parent | bcc13efa8d46d60d57462c58992c7eee38cc4f6d (diff) | |
download | mongo-a85277d4c53722830121cb3f447effa6cc70fd3d.tar.gz |
SERVER-48531: 3 way deadlock can happen between chunk splitter, prepared transactions and stepdown thread.
(cherry picked from commit 1e23a0f7659d67df27ae8d553f99f35e52a91c0c)
-rw-r--r-- | src/mongo/db/s/chunk_splitter.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/mongo/db/s/chunk_splitter.cpp b/src/mongo/db/s/chunk_splitter.cpp index aedbdfdebff..fdd062739c9 100644 --- a/src/mongo/db/s/chunk_splitter.cpp +++ b/src/mongo/db/s/chunk_splitter.cpp @@ -69,6 +69,8 @@ ThreadPool::Options makeDefaultThreadPoolOptions() { // Ensure all threads have a client options.onCreateThread = [](const std::string& threadName) { Client::initThread(threadName.c_str()); + stdx::lock_guard<Client> lk(cc()); + cc().setSystemOperationKillable(lk); }; return options; } |