diff --git a/google/cloud/spanner_v1/pool.py b/google/cloud/spanner_v1/pool.py index 56a78ef672..dd5da532e4 100644 --- a/google/cloud/spanner_v1/pool.py +++ b/google/cloud/spanner_v1/pool.py @@ -387,15 +387,14 @@ def get(self, timeout=None): if timeout is None: timeout = self.default_timeout - ping_after, session = self._sessions.get(block=True, timeout=timeout) + _, session = self._sessions.get(block=True, timeout=timeout) - if _NOW() > ping_after: - # Using session.exists() guarantees the returned session exists. - # session.ping() uses a cached result in the backend which could - # result in a recently deleted session being returned. - if not session.exists(): - session = self._new_session() - session.create() + # Using session.exists() guarantees the returned session exists. + # session.ping() uses a cached result in the backend which could + # result in a recently deleted session being returned. + if not session.exists(): + session = self._new_session() + session.create() return session diff --git a/tests/unit/test_pool.py b/tests/unit/test_pool.py index 593420187d..462e3ead86 100644 --- a/tests/unit/test_pool.py +++ b/tests/unit/test_pool.py @@ -433,7 +433,7 @@ def test_get_hit_no_ping(self): session = pool.get() self.assertIs(session, SESSIONS[0]) - self.assertFalse(session._exists_checked) + self.assertTrue(session._exists_checked) self.assertFalse(pool._sessions.full()) def test_get_hit_w_ping(self):