summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Midvidy <amidvidy@gmail.com>2015-12-16 17:40:38 -0500
committerAdam Midvidy <amidvidy@gmail.com>2015-12-22 11:21:12 -0500
commite0f04ca05bc38ec6bf69616609cc35f341fc6f57 (patch)
treee61de689c276522a206ecdef65805f0cd25ebfbc
parent1dfd2cffcf1dc0cc49fe37e0f98daf8d464e0a5e (diff)
downloadmongo-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.cpp6
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