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
#30284 removed GLOBAL_ASYNC_QUERIES_REDIS_CONFIG for GLOBAL_ASYNC_QUERIES_CACHE_BACKEND,
however GLOBAL_ASYNC_QUERIES_CACHE_BACKEND even though it declares CACHE_REDIS_USER as a parameter
With GLOBAL_ASYNC_QUERIES_REDIS_CONFIG this was possible to do as it had the ability to pass kwargs directly to the redis client. Which means before this change it was possible to use secure username/password redis, but after this change it's not.
It would also be good to restore the CACHE_OPTIONS value that GLOBAL_ASYNC_QUERIES_REDIS_CONFIG and others have. This options expands the kwargs passed to the constructor of the underlying redis library.
Since superset it not the one handling the connection, this allowed us to use connections that redis supported but superset does not. e.g. the underlying redis and kombus library supports clustered redis, but superset does not have a cache type for it.
Using the CACHE_OPTIONS this worked fine before.
Screenshots/recordings
No response
Superset version
master / latest-dev
Python version
3.9
Node version
16
Browser
Chrome
Additional context
No response
Checklist
I have searched Superset docs and Slack and didn't find a solution to my problem.
I have searched the GitHub issue tracker and didn't find a similar bug report.
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.
The text was updated successfully, but these errors were encountered:
Hey @Mistuke! I'm here to help you with any bugs, questions, or contributions you have for Superset. Let's tackle this together!
The issue you're encountering is due to the GLOBAL_ASYNC_QUERIES_CACHE_BACKEND configuration not passing the CACHE_REDIS_USER parameter to the Redis client, which is necessary for secure username/password authentication. This change occurred when GLOBAL_ASYNC_QUERIES_REDIS_CONFIG was removed in favor of the new configuration, which does not support passing the username directly to the Redis client [1][2].
To address this, you might consider modifying the cache_backend.py file to include the CACHE_REDIS_USER parameter when instantiating the Redis client. This would involve updating the instantiation logic to pass the username along with other connection parameters. Alternatively, you could explore using a custom configuration or patch to reintroduce the ability to pass additional keyword arguments, including the username, to the Redis client.
Bug description
#30284 removed
GLOBAL_ASYNC_QUERIES_REDIS_CONFIG
forGLOBAL_ASYNC_QUERIES_CACHE_BACKEND
,however
GLOBAL_ASYNC_QUERIES_CACHE_BACKEND
even though it declaresCACHE_REDIS_USER
as a parametersuperset/superset/config.py
Line 1755 in 2c37ddb
https://github.com/apache/superset/blob/master/superset/async_events/cache_backend.py#L27 which means the user/password pair is never correct.
With
GLOBAL_ASYNC_QUERIES_REDIS_CONFIG
this was possible to do as it had the ability to pass kwargs directly to the redis client. Which means before this change it was possible to use secure username/password redis, but after this change it's not.It would also be good to restore the
CACHE_OPTIONS
value thatGLOBAL_ASYNC_QUERIES_REDIS_CONFIG
and others have. This options expands the kwargs passed to the constructor of the underlying redis library.Since superset it not the one handling the connection, this allowed us to use connections that redis supported but superset does not. e.g. the underlying redis and kombus library supports clustered redis, but superset does not have a cache type for it.
Using the
CACHE_OPTIONS
this worked fine before.Screenshots/recordings
No response
Superset version
master / latest-dev
Python version
3.9
Node version
16
Browser
Chrome
Additional context
No response
Checklist
The text was updated successfully, but these errors were encountered: