Skip to content

Commit 9852b78

Browse files
committed
Updated condition by adding server name check
1 parent f684739 commit 9852b78

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

redis/connection.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -747,6 +747,7 @@ def ensure_string(key):
747747
class CacheProxyConnection(ConnectionInterface):
748748
DUMMY_CACHE_VALUE = b"foo"
749749
MIN_ALLOWED_VERSION = "7.4.0"
750+
DEFAULT_SERVER_NAME = b"redis"
750751

751752
def __init__(self, conn: ConnectionInterface, cache: CacheInterface):
752753
self.pid = os.getpid()
@@ -775,13 +776,17 @@ def set_parser(self, parser_class):
775776
def connect(self):
776777
self._conn.connect()
777778

778-
server_ver = self._conn.handshake_metadata.get(b"version", None)
779+
server_name = self._conn.handshake_metadata.get(b"server")
780+
server_ver = self._conn.handshake_metadata.get(b"version")
779781
if server_ver is None:
780782
raise ConnectionError("Cannot retrieve information about server version")
781783

782784
server_ver = server_ver.decode("utf-8")
783785

784-
if compare_versions(server_ver, self.MIN_ALLOWED_VERSION) == 1:
786+
if (
787+
server_name != self.DEFAULT_SERVER_NAME
788+
or compare_versions(server_ver, self.MIN_ALLOWED_VERSION) == 1
789+
):
785790
raise ConnectionError(
786791
"To maximize compatibility with all Redis products, client-side caching is supported by Redis 7.4 or later" # noqa: E501
787792
)

0 commit comments

Comments
 (0)