Skip to content

Commit 436cce8

Browse files
committed
cleanup in sync client
1 parent 1386824 commit 436cce8

File tree

3 files changed

+9
-2
lines changed

3 files changed

+9
-2
lines changed

redis/client.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -581,6 +581,9 @@ def execute_command(self, *args, **options):
581581
finally:
582582
if not self.connection:
583583
pool.release(conn)
584+
if "SCAN" in command_name.upper():
585+
breakpoint()
586+
pool.cleanup(iter_req_id=options.get("_iter_req_id", None))
584587

585588
def parse_response(self, connection, command_name, **options):
586589
"""Parses a response from the Redis server"""

redis/sentinel.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,7 @@ def cleanup(self, **options):
261261
"""
262262
Remove the SCAN ITER family command's request id from the dictionary
263263
"""
264+
breakpoint()
264265
self._iter_req_id_to_replica_address.pop(
265266
options.get("_iter_req_id", None), None
266267
)

tests/test_sentinel_managed_connection.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,10 @@ def test_scan_iter_family_cleans_up(
213213
"""Test that connection pool is correctly cleaned up"""
214214
from redis import Redis
215215

216-
r = Redis(connection_pool=connection_pool_replica_mock)
216+
from redis.commands.core import ScanCommands
217217

218-
[k for k in r.scan_iter("a")]
218+
r = Redis(connection_pool=connection_pool_replica_mock)
219+
with mock.patch.object(r, "_send_command_parse_response", return_value=(0, [])):
220+
[k for k in r.scan_iter("a")]
219221
assert not connection_pool_replica_mock._iter_req_id_to_replica_address
222+

0 commit comments

Comments
 (0)