Description
Version 4.4.0
Python 3.8.0/Ubuntu 18/Azure
When using Unix sockets, redis sometimes raises unhandled AttributeError while handing OSError in can_read(): in connection.py:
File "/home/netem/.netem-venv/lib/python3.8/site-packages/redis/client.py", line 1679, in get_message
response = self.parse_response(block=(timeout is None), timeout=timeout)
File "/home/netem/.netem-venv/lib/python3.8/site-packages/redis/client.py", line 1531, in parse_response
response = self._execute(conn, try_read)
File "/home/netem/.netem-venv/lib/python3.8/site-packages/redis/client.py", line 1507, in _execute
return conn.retry.call_with_retry(
File "/home/netem/.netem-venv/lib/python3.8/site-packages/redis/retry.py", line 46, in call_with_retry
return do()
File "/home/netem/.netem-venv/lib/python3.8/site-packages/redis/client.py", line 1508, in
lambda: command(*args, **kwargs),
File "/home/netem/.netem-venv/lib/python3.8/site-packages/redis/client.py", line 1525, in try_read
if not conn.can_read(timeout=timeout):
File "/home/netem/.netem-venv/lib/python3.8/site-packages/redis/connection.py", line 801, in can_read
f"Error while reading from {self.host}:{self.port}: {e.args}"
AttributeError: 'UnixDomainSocketConnection' object has no attribute 'host'
Similar exception happened earlier in read_response() but was recently fixed with:
try:
hosterr = f"{self.host}:{self.port}"
except AttributeError:
hosterr = "connection"