You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In pull requests #2295 and #2360 I made significant change on the way timeouts are handled in the async Connection, bringing it more in line with regular Python asyncio practices. In particular, we got rid of the unfortunate can_read() function which was a holdover from the synchronous implementation.
Unfortunately, a problem was introduced:
If an asyncio.TimeoutError was raised during the IO of a message, when using the PythonParser, the connection would be left in an unusable state. This is in constrast to the HiredisParser, where IO and parsing are separate.
The fix is relatively simple. PythonParser needs to be resumable, if it is interrupted in the middle of parsing a single message. Two alternative PRs address this: #2510 and #2512, which differ only in the architectural details of how to achieve this.
The text was updated successfully, but these errors were encountered:
In pull requests #2295 and #2360 I made significant change on the way timeouts are handled in the async
Connection
, bringing it more in line with regular Python asyncio practices. In particular, we got rid of the unfortunatecan_read()
function which was a holdover from the synchronous implementation.Unfortunately, a problem was introduced:
If an
asyncio.TimeoutError
was raised during the IO of a message, when using thePythonParser
, the connection would be left in an unusable state. This is in constrast to theHiredisParser
, where IO and parsing are separate.The fix is relatively simple.
PythonParser
needs to be resumable, if it is interrupted in the middle of parsing a single message. Two alternative PRs address this: #2510 and #2512, which differ only in the architectural details of how to achieve this.The text was updated successfully, but these errors were encountered: