Skip to content

Commit 284dfbc

Browse files
mp911dechristophstrobl
authored andcommitted
Adapt to changes in Jedis 3.6.
Closes #2017 Original Pull Request: #2021
1 parent 4a2abdc commit 284dfbc

File tree

6 files changed

+29
-24
lines changed

6 files changed

+29
-24
lines changed

Diff for: src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterStreamCommands.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,7 @@ public PendingMessages xPending(byte[] key, String groupName, XPendingOptions op
274274

275275
try {
276276

277-
List<byte[]> response = connection.getCluster().xpending(key, group,
277+
List<Object> response = connection.getCluster().xpending(key, group,
278278
JedisConverters.toBytes(getLowerValue(range)), JedisConverters.toBytes(getUpperValue(range)),
279279
options.getCount().intValue(), JedisConverters.toBytes(options.getConsumerName()));
280280

Diff for: src/main/java/org/springframework/data/redis/connection/jedis/JedisConnection.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ protected JedisConnection(Jedis jedis, @Nullable Pool<Jedis> pool, int dbIndex,
118118
}
119119

120120
private static DefaultJedisClientConfig createConfig(int dbIndex, @Nullable String clientName) {
121-
return DefaultJedisClientConfig.builder().databse(dbIndex).clientName(clientName).build();
121+
return DefaultJedisClientConfig.builder().database(dbIndex).clientName(clientName).build();
122122
}
123123

124124
/**

Diff for: src/main/java/org/springframework/data/redis/connection/jedis/JedisConnectionFactory.java

+11-9
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,6 @@ protected Jedis fetchJedisConnector() {
281281
// force initialization (see Jedis issue #82)
282282
jedis.connect();
283283

284-
potentiallySetClientName(jedis);
285284
return jedis;
286285
} catch (Exception ex) {
287286
throw new RedisConnectionFailureException("Cannot get Jedis connection", ex);
@@ -361,7 +360,7 @@ private JedisClientConfig createClientConfig(@Nullable String username, RedisPas
361360
builder.connectionTimeoutMillis(getConnectTimeout());
362361
builder.socketTimeoutMillis(getReadTimeout());
363362

364-
builder.databse(getDatabase());
363+
builder.database(getDatabase());
365364

366365
if (!ObjectUtils.isEmpty(username)) {
367366
builder.user(username);
@@ -498,8 +497,15 @@ public RedisConnection getConnection() {
498497
}
499498

500499
Jedis jedis = fetchJedisConnector();
501-
JedisConnection connection = (getUsePool() ? new JedisConnection(jedis, pool, getDatabase(), getClientName())
502-
: new JedisConnection(jedis, null, getDatabase(), getClientName()));
500+
JedisClientConfig sentinelConfig = this.clientConfig;
501+
502+
SentinelConfiguration sentinelConfiguration = getSentinelConfiguration();
503+
if (sentinelConfiguration != null) {
504+
sentinelConfig = createClientConfig(null, sentinelConfiguration.getSentinelPassword());
505+
}
506+
507+
JedisConnection connection = (getUsePool() ? new JedisConnection(jedis, pool, this.clientConfig, sentinelConfig)
508+
: new JedisConnection(jedis, null, this.clientConfig, sentinelConfig));
503509
connection.setConvertPipelineAndTxResults(convertPipelineAndTxResults);
504510
return postProcessConnection(connection);
505511
}
@@ -896,7 +902,7 @@ private Jedis getActiveSentinel() {
896902
return jedis;
897903
}
898904
} catch (Exception ex) {
899-
log.warn(String.format("Ping failed for sentinel host:%s", node.getHost()), ex);
905+
log.warn(String.format("Ping failed for sentinel host: %s", node.getHost()), ex);
900906
} finally {
901907
if (!success && jedis != null) {
902908
jedis.close();
@@ -922,10 +928,6 @@ private static Set<HostAndPort> convertToJedisSentinelSet(Collection<RedisNode>
922928
return convertedNodes;
923929
}
924930

925-
private void potentiallySetClientName(Jedis jedis) {
926-
clientConfiguration.getClientName().ifPresent(jedis::clientSetname);
927-
}
928-
929931
private int getReadTimeout() {
930932
return Math.toIntExact(clientConfiguration.getReadTimeout().toMillis());
931933
}

Diff for: src/test/java/org/springframework/data/redis/connection/jedis/JedisConnectionFactorySentinelIntegrationTests.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ void getClientNameShouldEqualWithFactorySetting() {
8787
void shouldNotFailOnFirstSentinelDown() {
8888

8989
RedisSentinelConfiguration oneDownSentinelConfig = new RedisSentinelConfiguration().master("mymaster")
90-
.sentinel("any.unavailable.host", 26379).sentinel("127.0.0.1", 26379);
90+
.sentinel("127.0.0.1", 1).sentinel("127.0.0.1", 26379);
9191

9292
factory = new JedisConnectionFactory(oneDownSentinelConfig);
9393
assertThat(factory.getSentinelConnection().isOpen()).isTrue();

Diff for: src/test/java/org/springframework/data/redis/connection/jedis/JedisConnectionFactoryUnitTests.java

+13-11
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import static org.assertj.core.api.Assertions.*;
1919
import static org.mockito.Mockito.*;
2020

21+
import redis.clients.jedis.JedisClientConfig;
2122
import redis.clients.jedis.JedisCluster;
2223
import redis.clients.jedis.JedisClusterConnectionHandler;
2324
import redis.clients.jedis.JedisClusterInfoCache;
@@ -292,7 +293,7 @@ void shouldReturnClusterConfiguration() {
292293
assertThat(connectionFactory.getClusterConfiguration()).isSameAs(configuration);
293294
}
294295

295-
@Test // DATAREDIS-974
296+
@Test // DATAREDIS-974, GH-2017
296297
void shouldApplySslConfigWhenCreatingClusterClient() throws NoSuchAlgorithmException {
297298

298299
SSLParameters sslParameters = new SSLParameters();
@@ -323,16 +324,17 @@ void shouldApplySslConfigWhenCreatingClusterClient() throws NoSuchAlgorithmExcep
323324
JedisClusterConnectionHandler connectionHandler = (JedisClusterConnectionHandler) ReflectionTestUtils
324325
.getField(cluster, "connectionHandler");
325326
JedisClusterInfoCache cache = (JedisClusterInfoCache) ReflectionTestUtils.getField(connectionHandler, "cache");
326-
327-
assertThat(ReflectionTestUtils.getField(cache, "connectionTimeout")).isEqualTo(60000);
328-
assertThat(ReflectionTestUtils.getField(cache, "soTimeout")).isEqualTo(300000);
329-
assertThat(ReflectionTestUtils.getField(cache, "password")).isNull();
330-
assertThat(ReflectionTestUtils.getField(cache, "clientName")).isEqualTo("my-client");
331-
assertThat(ReflectionTestUtils.getField(cache, "ssl")).isEqualTo(true);
332-
assertThat(ReflectionTestUtils.getField(cache, "sslSocketFactory")).isEqualTo(socketFactory);
333-
assertThat(ReflectionTestUtils.getField(cache, "sslParameters")).isEqualTo(sslParameters);
334-
assertThat(ReflectionTestUtils.getField(cache, "hostnameVerifier")).isEqualTo(hostNameVerifier);
335-
assertThat(ReflectionTestUtils.getField(cache, "hostAndPortMap")).isNull();
327+
JedisClientConfig clientConfig = (JedisClientConfig) ReflectionTestUtils.getField(cache, "clientConfig");
328+
329+
assertThat(clientConfig.getConnectionTimeoutMillis()).isEqualTo(60000);
330+
assertThat(clientConfig.getSocketTimeoutMillis()).isEqualTo(300000);
331+
assertThat(clientConfig.getPassword()).isNull();
332+
assertThat(clientConfig.getClientName()).isEqualTo("my-client");
333+
assertThat(clientConfig.isSsl()).isEqualTo(true);
334+
assertThat(clientConfig.getSslSocketFactory()).isEqualTo(socketFactory);
335+
assertThat(clientConfig.getSslParameters()).isEqualTo(sslParameters);
336+
assertThat(clientConfig.getHostnameVerifier()).isEqualTo(hostNameVerifier);
337+
assertThat(clientConfig.getHostAndPortMapper()).isNull();
336338
}
337339

338340
@Test // DATAREDIS-574

Diff for: src/test/java/org/springframework/data/redis/connection/jedis/JedisConnectionUnitTests.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
import org.springframework.data.redis.connection.RedisZSetCommands.Tuple;
3939
import org.springframework.data.redis.core.Cursor;
4040
import org.springframework.data.redis.core.ScanOptions;
41+
import org.springframework.test.util.ReflectionTestUtils;
4142

4243
/**
4344
* @author Christoph Strobl
@@ -379,7 +380,7 @@ private static class MockedClientJedis extends Jedis {
379380

380381
MockedClientJedis(String host, Client client) {
381382
super(host);
382-
this.client = client;
383+
ReflectionTestUtils.setField(this, "client", client);
383384
}
384385
}
385386
}

0 commit comments

Comments
 (0)