Merge pull request #612 from vijaykramesh/sentinel_pool_null_check_on_broken
handle nulls in JedisSentinelPool#return[Broken]Resource
This commit is contained in:
@@ -75,13 +75,17 @@ public class JedisSentinelPool extends Pool<Jedis> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void returnBrokenResource(final Jedis resource) {
|
public void returnBrokenResource(final Jedis resource) {
|
||||||
|
if (resource != null) {
|
||||||
returnBrokenResourceObject(resource);
|
returnBrokenResourceObject(resource);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void returnResource(final Jedis resource) {
|
public void returnResource(final Jedis resource) {
|
||||||
|
if (resource != null) {
|
||||||
resource.resetState();
|
resource.resetState();
|
||||||
returnResourceObject(resource);
|
returnResourceObject(resource);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private volatile HostAndPort currentHostMaster;
|
private volatile HostAndPort currentHostMaster;
|
||||||
|
|
||||||
|
|||||||
@@ -80,6 +80,32 @@ public class JedisSentinelPoolTest extends JedisTestBase {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void returnResourceWithNullResource() {
|
||||||
|
GenericObjectPoolConfig config = new GenericObjectPoolConfig();
|
||||||
|
config.setMaxTotal(1);
|
||||||
|
config.setBlockWhenExhausted(false);
|
||||||
|
JedisSentinelPool pool = new JedisSentinelPool(MASTER_NAME, sentinels,
|
||||||
|
config, 1000, "foobared", 2);
|
||||||
|
|
||||||
|
Jedis nullJedis = null;
|
||||||
|
pool.returnResource(nullJedis);
|
||||||
|
pool.destroy();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void returnBrokenResourceWithNullResource() {
|
||||||
|
GenericObjectPoolConfig config = new GenericObjectPoolConfig();
|
||||||
|
config.setMaxTotal(1);
|
||||||
|
config.setBlockWhenExhausted(false);
|
||||||
|
JedisSentinelPool pool = new JedisSentinelPool(MASTER_NAME, sentinels,
|
||||||
|
config, 1000, "foobared", 2);
|
||||||
|
|
||||||
|
Jedis nullJedis = null;
|
||||||
|
pool.returnBrokenResource(nullJedis);
|
||||||
|
pool.destroy();
|
||||||
|
}
|
||||||
|
|
||||||
private void forceFailover(JedisSentinelPool pool)
|
private void forceFailover(JedisSentinelPool pool)
|
||||||
throws InterruptedException {
|
throws InterruptedException {
|
||||||
HostAndPort oldMaster = pool.getCurrentHostMaster();
|
HostAndPort oldMaster = pool.getCurrentHostMaster();
|
||||||
|
|||||||
Reference in New Issue
Block a user