Skip to content

Commit 8cc32e6

Browse files
committed
Don't return JedisConnectionException if pool is exahusted
Fixes #1236
1 parent fe2e41f commit 8cc32e6

File tree

4 files changed

+7
-3
lines changed

4 files changed

+7
-3
lines changed

src/main/java/redis/clients/util/Pool.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package redis.clients.util;
22

33
import java.io.Closeable;
4+
import java.util.NoSuchElementException;
45

56
import org.apache.commons.pool2.PooledObjectFactory;
67
import org.apache.commons.pool2.impl.GenericObjectPool;
@@ -46,6 +47,8 @@ public void initPool(final GenericObjectPoolConfig poolConfig, PooledObjectFacto
4647
public T getResource() {
4748
try {
4849
return internalPool.borrowObject();
50+
} catch (NoSuchElementException nse) {
51+
throw new JedisException("Could not get a resource from the pool", nse);
4952
} catch (Exception e) {
5053
throw new JedisConnectionException("Could not get a resource from the pool", e);
5154
}

src/test/java/redis/clients/jedis/tests/JedisClusterTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -425,7 +425,7 @@ public void testStableSlotWhenMigratingNodeOrImportingNodeIsNotSpecified()
425425
assertEquals("foo", jc.get("51"));
426426
}
427427

428-
@Test(expected = JedisConnectionException.class)
428+
@Test(expected = JedisException.class)
429429
public void testIfPoolConfigAppliesToClusterPools() {
430430
GenericObjectPoolConfig config = new GenericObjectPoolConfig();
431431
config.setMaxTotal(0);

src/test/java/redis/clients/jedis/tests/JedisPoolTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ public void checkPoolRepairedWhenJedisIsBroken() {
9292
assertTrue(pool.isClosed());
9393
}
9494

95-
@Test(expected = JedisConnectionException.class)
95+
@Test(expected = JedisException.class)
9696
public void checkPoolOverflow() {
9797
GenericObjectPoolConfig config = new GenericObjectPoolConfig();
9898
config.setMaxTotal(1);

src/test/java/redis/clients/jedis/tests/ShardedJedisPoolTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import redis.clients.jedis.ShardedJedisPipeline;
1818
import redis.clients.jedis.ShardedJedisPool;
1919
import redis.clients.jedis.exceptions.JedisConnectionException;
20+
import redis.clients.jedis.exceptions.JedisException;
2021

2122
public class ShardedJedisPoolTest extends Assert {
2223
private static HostAndPort redis1 = HostAndPortUtil.getRedisServers().get(0);
@@ -99,7 +100,7 @@ public void checkPoolRepairedWhenJedisIsBroken() {
99100
pool.destroy();
100101
}
101102

102-
@Test(expected = JedisConnectionException.class)
103+
@Test(expected = JedisException.class)
103104
public void checkPoolOverflow() {
104105
GenericObjectPoolConfig config = new GenericObjectPoolConfig();
105106
config.setMaxTotal(1);

0 commit comments

Comments
 (0)