DATAREDIS-1127 - Handling ping failures for getSentinelConnection method.
Original Pull Request: #524
This commit is contained in:
committed by
Christoph Strobl
parent
e6c4544b9a
commit
592db13541
@@ -75,6 +75,7 @@ import org.springframework.util.CollectionUtils;
|
||||
* @author Christoph Strobl
|
||||
* @author Mark Paluch
|
||||
* @author Fu Jian
|
||||
* @author Ajith Kumar
|
||||
* @see JedisClientConfiguration
|
||||
* @see Jedis
|
||||
*/
|
||||
@@ -855,10 +856,14 @@ public class JedisConnectionFactory implements InitializingBean, DisposableBean,
|
||||
|
||||
Jedis jedis = new Jedis(node.getHost(), node.getPort(), getConnectTimeout(), getReadTimeout());
|
||||
|
||||
if (jedis.ping().equalsIgnoreCase("pong")) {
|
||||
try {
|
||||
if (jedis.ping().equalsIgnoreCase("pong")) {
|
||||
|
||||
potentiallySetClientName(jedis);
|
||||
return jedis;
|
||||
potentiallySetClientName(jedis);
|
||||
return jedis;
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
log.warn(String.format("Ping failed for sentinel host:%s", node.getHost()), ex);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -31,6 +31,7 @@ import org.springframework.data.redis.test.util.RedisSentinelRule;
|
||||
* @author Christoph Strobl
|
||||
* @author Fu Jian
|
||||
* @author Mark Paluch
|
||||
* @author Ajith Kumar
|
||||
*/
|
||||
public class JedisConnectionFactorySentinelIntegrationTests {
|
||||
|
||||
@@ -82,4 +83,14 @@ public class JedisConnectionFactorySentinelIntegrationTests {
|
||||
|
||||
assertThat(factory.getConnection().getClientName()).isEqualTo("clientName");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldNotFailOnFirstSentinelDown() {
|
||||
|
||||
final RedisSentinelConfiguration multiSentinelConfig = new RedisSentinelConfiguration()
|
||||
.master("mymaster").sentinel("any.unavailable.host",26379).sentinel("127.0.0.1", 26379);
|
||||
|
||||
factory = new JedisConnectionFactory(multiSentinelConfig);
|
||||
assertThat(factory.getSentinelConnection().isOpen()).isTrue();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user