-
Notifications
You must be signed in to change notification settings - Fork 985
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fallback to RESP2 hides potential authentication configuration problems #2313
Comments
This comment was marked as resolved.
This comment was marked as resolved.
Hi @mp911de I feel like I've found the problem. There may exist some reason that hides the actual exception in 6.2.X. Since we were using redis5, I tried to change the client option to protoVer=RESP2 explicitly, and the error message becomes:
and then I tried to pass an empty string to RedisURI.withPassword(), same error again. Finally, the application can start nicely only when uriBuilder.withPassword((char[]) null); So a redis5 cluster without a password and such code below can reproduce the problem. RedisURI.Builder uriBuilder = RedisURI.Builder.redis(part[0], Integer.parseInt(part[1]));
if (redisPwd != null) {
uriBuilder.withPassword((CharSequence) redisPwd);
} Summary: |
You're right, this is a problem on our side where we do not properly surface configuration issues with the password. Since Redis passwords can be empty (although not recommended), we should accept empty passwords. |
…rade #2313 We now correctly propagate exceptions that can happen from RESP2 handshake initiator. Previously, these exceptions didn't bubble up and went unnoticed resulting in a handshake timeout.
…rade #2313 We now correctly propagate exceptions that can happen from RESP2 handshake initiator. Previously, these exceptions didn't bubble up and went unnoticed resulting in a handshake timeout.
Bug Report / Help wanted
We have a simple 6-node redis5 cluster: no SSL, no password, bare-metal deployment, can be connected via machine IP: port directly.
And the application(running in Kubernetes environment) used to be normal until I upgrade the lettuce-core to 6.2.X.
Seems the application is stuck at connecting redis-cluster when starting up, until it is killed by Kubernetes liveness probe.
Below are the logs:
application logs under 6.2.X
After the last
error='ERR unknown command HELLO
output, the timeout error stack was thrown after about 1 minute.The text was updated successfully, but these errors were encountered: