xueyun0512 opened a new issue, #41743:
URL: https://github.com/apache/superset/issues/41743
### Bug description
Hello,
I'm deploying Caching with Redis and I have Redis Sentinel for HA.
Both redis sentinel and redis server have tls activated.
In superset_config.py, I have set:
```py
CUSTOM_SENTINEL_SERVERS= [
('sentinel1.example.com', 26379),
('sentinel2.example.com', 26379),
('sentinel3.example.com', 26379),
]
FILTER_STATE_CACHE_CONFIG = {
'CACHE_TYPE': 'RedisSentinelCache',
'CACHE_DEFAULT_TIMEOUT': 86400,
'CACHE_KEY_PREFIX': 'superset:filter_cache',
'CACHE_REDIS_SENTINELS': CUSTOM_SENTINEL_SERVERS,
'CACHE_REDIS_SENTINEL_MASTER': 'redis_master',
'CACHE_REDIS_SENTINEL_PASSWORD': None,
'CACHE_REDIS_PORT': 6380,
'CACHE_OPTIONS': {
'ssl': True,
'ssl_cert_reqs': ssl.CERT_REQUIRED,
'ssl_ca_certs': '/etc/security/keys/root_ca.pem',
'ssl_certfile': '/etc/security/keys/superset.pem',
'ssl_keyfile': '/etc/security/keys/superset.key',
},
}
```
In Superset, I have the log
```log
No slave found for 'redis_master'
Traceback (most recent call last):
File
"/opt/superset/.conda/envs/venv_superset/lib/python3.11/site-packages/flask_appbuilder/api/__init__.py",
line 124, in wraps
return f(self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/superset/.conda/envs/venv_superset/lib/python3.11/site-packages/superset/utils/log.py",
line 301, in wrapper
value = f(*args, **kwargs)
^^^^^^^^^^^^^^^^^^
File
"/opt/superset/.conda/envs/venv_superset/lib/python3.11/site-packages/superset/dashboards/filter_state/api.py",
line 174, in post
return super().post(pk)
^^^^^^^^^^^^^^^^
File
"/opt/superset/.conda/envs/venv_superset/lib/python3.11/site-packages/superset/views/base_api.py",
line 92, in wraps
return f(self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/superset/.conda/envs/venv_superset/lib/python3.11/site-packages/superset/temporary_cache/api.py",
line 80, in post
key = self.get_create_command()(args).run()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/superset/.conda/envs/venv_superset/lib/python3.11/site-packages/superset/utils/decorators.py",
line 267, in wrapped
return on_error(ex)
^^^^^^^^^^^^
File
"/opt/superset/.conda/envs/venv_superset/lib/python3.11/site-packages/superset/utils/decorators.py",
line 232, in on_error
raise ex
File
"/opt/superset/.conda/envs/venv_superset/lib/python3.11/site-packages/superset/utils/decorators.py",
line 260, in wrapped
result = func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File
"/opt/superset/.conda/envs/venv_superset/lib/python3.11/site-packages/superset/commands/temporary_cache/create.py",
line 35, in run
return self.create(self._cmd_params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/superset/.conda/envs/venv_superset/lib/python3.11/site-packages/superset/commands/dashboard/filter_state/create.py",
line 36, in create
key = cache_manager.filter_state_cache.get(contextual_key)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/superset/.conda/envs/venv_superset/lib/python3.11/site-packages/flask_caching/__init__.py",
line 195, in get
return self.cache.get(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/superset/.conda/envs/venv_superset/lib/python3.11/site-packages/cachelib/redis.py",
line 78, in get
self._read_client.get(f"{self._get_prefix()}{key}")
File
"/opt/superset/.conda/envs/venv_superset/lib/python3.11/site-packages/redis/commands/core.py",
line 1822, in get
return self.execute_command("GET", name, keys=[name])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/superset/.conda/envs/venv_superset/lib/python3.11/site-packages/redis/client.py",
line 605, in execute_command
return self._execute_command(*args, **options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/superset/.conda/envs/venv_superset/lib/python3.11/site-packages/redis/client.py",
line 611, in _execute_command
conn = self.connection or pool.get_connection()
^^^^^^^^^^^^^^^^^^^^^
File
"/opt/superset/.conda/envs/venv_superset/lib/python3.11/site-packages/redis/utils.py",
line 183, in wrapper
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File
"/opt/superset/.conda/envs/venv_superset/lib/python3.11/site-packages/redis/connection.py",
line 1483, in get_connection
connection.connect()
File
"/opt/superset/.conda/envs/venv_superset/lib/python3.11/site-packages/redis/sentinel.py",
line 58, in connect
return self.retry.call_with_retry(self._connect_retry, lambda error:
None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/superset/.conda/envs/venv_superset/lib/python3.11/site-packages/redis/retry.py",
line 67, in call_with_retry
raise error
File
"/opt/superset/.conda/envs/venv_superset/lib/python3.11/site-packages/redis/retry.py",
line 62, in call_with_retry
return do()
^^^^
File
"/opt/superset/.conda/envs/venv_superset/lib/python3.11/site-packages/redis/sentinel.py",
line 50, in _connect_retry
for slave in self.connection_pool.rotate_slaves():
File
"/opt/superset/.conda/envs/venv_superset/lib/python3.11/site-packages/redis/sentinel.py",
line 134, in rotate_slaves
raise SlaveNotFoundError(f"No slave found for {self.service_name!r}")
redis.sentinel.SlaveNotFoundError: No slave found for 'redis_master'
```
And on redis sentinel side, I got:
```log
1591788:X 03 Jul 2026 12:02:15.104 # Error accepting a client connection:
error:1408F10B:SSL routines:ssl3_get_record:wrong version number(addr=XXXXX
laddr=XXX)
```
I'm wondering if the TLS option in CACHE_OPTIONS is only applied to redis
server or also sentinel ?
Can you help me please ?
thanks!
### Screenshots/recordings
_No response_
### Superset version
6.1.0
### Python version
3.11
### Node version
I don't know
### Browser
Chrome
### Additional context
_No response_
### Checklist
- [x] I have searched Superset docs and Slack and didn't find a solution to
my problem.
- [x] I have searched the GitHub issue tracker and didn't find a similar bug
report.
- [x] I have checked Superset's logs for errors and if I found a relevant
Python stacktrace, I included it here as text in the "additional context"
section.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]