DBZ 7740 Fixed NOAUTH authentication required error while initializing Redis connection

This commit is contained in:
Selman Genç 2024-04-05 11:46:23 +03:00 committed by Jiri Pechanec
parent a6f617647a
commit 90485dd42d
2 changed files with 16 additions and 9 deletions

View File

@ -598,3 +598,4 @@ Fr0z3Nn
Xianming Zhou
Akula
Nick Golubev
Selman Genç

View File

@ -14,6 +14,7 @@
import io.debezium.util.Strings;
import redis.clients.jedis.DefaultJedisClientConfig;
import redis.clients.jedis.DefaultJedisClientConfig.Builder;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.exceptions.JedisConnectionException;
@ -79,20 +80,25 @@ public RedisClient getRedisClient(String clientName, boolean waitEnabled, long w
Jedis client;
try {
client = new Jedis(address, DefaultJedisClientConfig.builder().database(this.dbIndex).connectionTimeoutMillis(this.connectionTimeout)
.socketTimeoutMillis(this.socketTimeout).ssl(this.sslEnabled).build());
Builder configBuilder = DefaultJedisClientConfig.builder()
.database(this.dbIndex)
.connectionTimeoutMillis(this.connectionTimeout)
.socketTimeoutMillis(this.socketTimeout)
.ssl(this.sslEnabled);
if (!Strings.isNullOrEmpty(this.user)) {
client.auth(this.user, this.password);
configBuilder = configBuilder.user(this.user);
}
else if (!Strings.isNullOrEmpty(this.password)) {
client.auth(this.password);
}
else {
// make sure that client is connected
client.ping();
if (!Strings.isNullOrEmpty(this.password)) {
configBuilder = configBuilder.password(this.password);
}
client = new Jedis(address, configBuilder.build());
// make sure that client is connected
client.ping();
try {
client.clientSetname(clientName);
}