-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Open
Labels
Description
When using Python 3.13 and redis==7.1.0 on Ubuntu 20.04, a Redis instance obtained via ConnectionPool raises a GeneratorExit error after setting a callback.
File "/usr/local/lib/python3.13/site-packages/redis/asyncio/connection.py", line 607, in read_response
response = await self._parser.read_response(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
disable_decoding=disable_decoding
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
GeneratorExit
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/fit-monitor-web/store/redis_store.py", line 18, in wrapper
return await func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/redis/asyncio/client.py", line 725, in execute_command
return await conn.retry.call_with_retry(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<4 lines>...
)
^
File "/usr/local/lib/python3.13/site-packages/redis/asyncio/retry.py", line 50, in call_with_retry
return await do()
^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/redis/asyncio/client.py", line 700, in _send_command_parse_response
return await self.parse_response(conn, command_name, **options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/redis/asyncio/client.py", line 746, in parse_response
response = await connection.read_response()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/redis/asyncio/connection.py", line 627, in read_response
await self.disconnect(nowait=True)
File "/usr/local/lib/python3.13/site-packages/redis/asyncio/connection.py", line 482, in disconnect
async with async_timeout(self.socket_connect_timeout):
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/asyncio/timeouts.py", line 90, in __aenter__
raise RuntimeError("Timeout should be used inside a task")
RuntimeError: Timeout should be used inside a task