diff --git a/elasticsearch/connection_pool.py b/elasticsearch/connection_pool.py index 59784a67..536d0d54 100644 --- a/elasticsearch/connection_pool.py +++ b/elasticsearch/connection_pool.py @@ -58,16 +58,13 @@ class ConnectionPool(object): # either we were forced or the node is elligible to be retried connection = self.dead.pop(0)[1] self.connections.append(connection) - return connection def get_connection(self): - connection = self.resurrect() - if connection: - return connection + self.resurrect() # no live nodes, resurrect one by force if not self.connections: - return self.resurrect(True) + self.resurrect(True) return self.selector.select(self.connections) diff --git a/test_elasticsearch/test_connection_pool.py b/test_elasticsearch/test_connection_pool.py index a1861057..4fdaf699 100644 --- a/test_elasticsearch/test_connection_pool.py +++ b/test_elasticsearch/test_connection_pool.py @@ -59,6 +59,7 @@ class TestConnectionPool(TestCase): now = time.time() pool.mark_dead(42, now=now-61) - self.assertEquals(42, pool.get_connection()) + pool.get_connection() + self.assertEquals(42, pool.connections[-1]) self.assertEquals(100, len(pool.connections))