From f3d1065ff3b1a35b4c0a3661286e1155d2ec5dd7 Mon Sep 17 00:00:00 2001 From: Bilal Al-Shahwany Date: Wed, 10 Sep 2025 09:03:03 -0700 Subject: [PATCH 1/4] deprecate redis errors param --- splitio/client/config.py | 5 +++++ splitio/storage/adapters/redis.py | 1 - tests/client/test_factory.py | 1 - tests/storage/adapters/test_redis_adapter.py | 3 --- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/splitio/client/config.py b/splitio/client/config.py index 316ac96f..1c055c64 100644 --- a/splitio/client/config.py +++ b/splitio/client/config.py @@ -171,7 +171,12 @@ def sanitize(sdk_key, config): processed["httpAuthenticateScheme"] = authenticate_scheme processed = _sanitize_fallback_config(config, processed) + + if config.get("redisErrors") is not None: + _LOGGER.warning('Parameter `redisErrors` is deprecated as it is no longer supported in redis lib.' \ + ' Will ignore this value.') + processed["redisErrors"] = None return processed def _sanitize_fallback_config(config, processed): diff --git a/splitio/storage/adapters/redis.py b/splitio/storage/adapters/redis.py index 4cf87b5e..8b8c5e5c 100644 --- a/splitio/storage/adapters/redis.py +++ b/splitio/storage/adapters/redis.py @@ -715,7 +715,6 @@ def _build_default_client(config): # pylint: disable=too-many-locals unix_socket_path = config.get('redisUnixSocketPath', None) encoding = config.get('redisEncoding', 'utf-8') encoding_errors = config.get('redisEncodingErrors', 'strict') -# errors = config.get('redisErrors', None) decode_responses = config.get('redisDecodeResponses', True) retry_on_timeout = config.get('redisRetryOnTimeout', False) ssl = config.get('redisSsl', False) diff --git a/tests/client/test_factory.py b/tests/client/test_factory.py index 9a5ad992..f8aa159d 100644 --- a/tests/client/test_factory.py +++ b/tests/client/test_factory.py @@ -112,7 +112,6 @@ def test_redis_client_creation(self, mocker): 'redisConnectionPool': False, 'redisUnixSocketPath': '/some_path', 'redisEncodingErrors': 'non-strict', - 'redisErrors': True, 'redisDecodeResponses': True, 'redisRetryOnTimeout': True, 'redisSsl': True, diff --git a/tests/storage/adapters/test_redis_adapter.py b/tests/storage/adapters/test_redis_adapter.py index 78d28bbc..ac25d03b 100644 --- a/tests/storage/adapters/test_redis_adapter.py +++ b/tests/storage/adapters/test_redis_adapter.py @@ -99,7 +99,6 @@ def test_adapter_building(self, mocker): 'redisUnixSocketPath': '/tmp/socket', 'redisEncoding': 'utf-8', 'redisEncodingErrors': 'strict', -# 'redisErrors': 'abc', 'redisDecodeResponses': True, 'redisRetryOnTimeout': True, 'redisSsl': True, @@ -151,7 +150,6 @@ def test_adapter_building(self, mocker): 'redisUnixSocketPath': '/tmp/socket', 'redisEncoding': 'utf-8', 'redisEncodingErrors': 'strict', -# 'redisErrors': 'abc', 'redisDecodeResponses': True, 'redisRetryOnTimeout': True, 'redisSsl': False, @@ -529,7 +527,6 @@ def master_for(se, 'redisUnixSocketPath': '/tmp/socket', 'redisEncoding': 'utf-8', 'redisEncodingErrors': 'strict', - 'redisErrors': 'abc', 'redisDecodeResponses': True, 'redisRetryOnTimeout': True, 'redisSsl': False, From 5e17009dbeae61d13376d958de0c29f035e5472a Mon Sep 17 00:00:00 2001 From: Bilal Al-Shahwany Date: Wed, 10 Sep 2025 09:13:48 -0700 Subject: [PATCH 2/4] polish --- splitio/storage/adapters/redis.py | 1 - 1 file changed, 1 deletion(-) diff --git a/splitio/storage/adapters/redis.py b/splitio/storage/adapters/redis.py index 8b8c5e5c..92aa2544 100644 --- a/splitio/storage/adapters/redis.py +++ b/splitio/storage/adapters/redis.py @@ -739,7 +739,6 @@ def _build_default_client(config): # pylint: disable=too-many-locals unix_socket_path=unix_socket_path, encoding=encoding, encoding_errors=encoding_errors, -# errors=errors, Starting from redis 6.0.0 errors argument is removed decode_responses=decode_responses, retry_on_timeout=retry_on_timeout, ssl=ssl, From 6b02164f0f0960aded594b3f74a75ce13f50e9a4 Mon Sep 17 00:00:00 2001 From: Bilal Al-Shahwany Date: Wed, 10 Sep 2025 09:14:51 -0700 Subject: [PATCH 3/4] polish --- tests/client/test_factory.py | 1 - tests/storage/adapters/test_redis_adapter.py | 1 - 2 files changed, 2 deletions(-) diff --git a/tests/client/test_factory.py b/tests/client/test_factory.py index f8aa159d..255d4296 100644 --- a/tests/client/test_factory.py +++ b/tests/client/test_factory.py @@ -156,7 +156,6 @@ def synchronize_config(*_): unix_socket_path='/some_path', encoding='utf-8', encoding_errors='non-strict', -# errors=True, decode_responses=True, retry_on_timeout=True, ssl=True, diff --git a/tests/storage/adapters/test_redis_adapter.py b/tests/storage/adapters/test_redis_adapter.py index ac25d03b..9888c853 100644 --- a/tests/storage/adapters/test_redis_adapter.py +++ b/tests/storage/adapters/test_redis_adapter.py @@ -125,7 +125,6 @@ def test_adapter_building(self, mocker): unix_socket_path='/tmp/socket', encoding='utf-8', encoding_errors='strict', -# errors='abc', decode_responses=True, retry_on_timeout=True, ssl=True, From 4fe9854021c5f975a163c610425beaff57e22f92 Mon Sep 17 00:00:00 2001 From: Bilal Al-Shahwany Date: Wed, 10 Sep 2025 13:02:03 -0700 Subject: [PATCH 4/4] Restrict redis lib to below 7.0.0 --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 1e1928fc..e2b4c74a 100644 --- a/setup.py +++ b/setup.py @@ -45,7 +45,7 @@ tests_require=TESTS_REQUIRES, extras_require={ 'test': TESTS_REQUIRES, - 'redis': ['redis>=2.10.5'], + 'redis': ['redis>=2.10.5,<7.0.0'], 'uwsgi': ['uwsgi>=2.0.0'], 'cpphash': ['mmh3cffi==0.2.1'], 'asyncio': ['aiohttp>=3.8.4', 'aiofiles>=23.1.0'],