diff options
author | Adam Midvidy <amidvidy@gmail.com> | 2015-12-16 17:40:38 -0500 |
---|---|---|
committer | Adam Midvidy <amidvidy@gmail.com> | 2015-12-22 11:21:12 -0500 |
commit | e0f04ca05bc38ec6bf69616609cc35f341fc6f57 (patch) | |
tree | e61de689c276522a206ecdef65805f0cd25ebfbc | |
parent | 1dfd2cffcf1dc0cc49fe37e0f98daf8d464e0a5e (diff) | |
download | mongo-e0f04ca05bc38ec6bf69616609cc35f341fc6f57.tar.gz |
SERVER-21536 don't refresh connections that have already been checked out
(cherry picked from commit a8eb2e709e826cfdb44af619b14b5d4e2f12a2e1)
-rw-r--r-- | src/mongo/executor/connection_pool.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mongo/executor/connection_pool.cpp b/src/mongo/executor/connection_pool.cpp index 522bf440c38..df6791a9590 100644 --- a/src/mongo/executor/connection_pool.cpp +++ b/src/mongo/executor/connection_pool.cpp @@ -391,6 +391,12 @@ void ConnectionPool::SpecificPool::addToReady(stdx::unique_lock<stdx::mutex>& lk stdx::unique_lock<stdx::mutex> lk(_parent->_mutex); + if (!_readyPool.count(connPtr)) { + // We've already been checked out. We don't need to refresh + // ourselves. + return; + } + conn = takeFromPool(_readyPool, connPtr); // If we're in shutdown, we don't need to refresh connections |