Skip to content

Commit 7db31ba

Browse files
committed
PYTHON-2462 Don't publish PoolClearedEvent when pool is already paused
1 parent 9c5fe16 commit 7db31ba

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

pymongo/pool.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1147,11 +1147,12 @@ def closed(self):
11471147
return self.state == CLOSED
11481148

11491149
def _reset(self, close):
1150+
old_state = self.state
11501151
with self.size_cond:
11511152
if self.closed:
11521153
return
11531154
if self.opts.pause_enabled:
1154-
self.state = PAUSED
1155+
old_state, self.state = self.state, PAUSED
11551156
self.generation += 1
11561157
newpid = os.getpid()
11571158
if self.pid != newpid:
@@ -1175,7 +1176,7 @@ def _reset(self, close):
11751176
if self.enabled_for_cmap:
11761177
listeners.publish_pool_closed(self.address)
11771178
else:
1178-
if self.enabled_for_cmap:
1179+
if old_state != PAUSED and self.enabled_for_cmap:
11791180
listeners.publish_pool_cleared(self.address)
11801181
for sock_info in sockets:
11811182
sock_info.close_socket(ConnectionClosedReason.STALE)

0 commit comments

Comments
 (0)