JedisPooled(config, url) constructor fails with -1 port
See original GitHub issueThe second available constructor with the following signature always fails:
public JedisPooled(final GenericObjectPoolConfig<Connection> poolConfig, final String url)
Expected behavior
It should default to using Protocol.DEFAULT_PORT
Actual behavior
Attempting to create connection for a JedisPooled
created with the above constructor throws the follow exception stack:
redis.clients.jedis.exceptions.JedisConnectionException: Failed to connect to any host resolved for DNS name.
at redis.clients.jedis.DefaultJedisSocketFactory.connectToFirstSuccessfulHost(DefaultJedisSocketFactory.java:63) ~[jedis-4.2.3.jar:?]
at redis.clients.jedis.DefaultJedisSocketFactory.createSocket(DefaultJedisSocketFactory.java:87) ~[jedis-4.2.3.jar:?]
at redis.clients.jedis.Connection.connect(Connection.java:180) ~[jedis-4.2.3.jar:?]
at redis.clients.jedis.Connection.initializeFromClientConfig(Connection.java:338) ~[jedis-4.2.3.jar:?]
at redis.clients.jedis.Connection.<init>(Connection.java:53) ~[jedis-4.2.3.jar:?]
at redis.clients.jedis.ConnectionFactory.makeObject(ConnectionFactory.java:71) ~[jedis-4.2.3.jar:?]
at org.apache.commons.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:571) ~[commons-pool2-2.11.1.jar:2.11.1]
at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:298) ~[commons-pool2-2.11.1.jar:2.11.1]
at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:223) ~[commons-pool2-2.11.1.jar:2.11.1]
at redis.clients.jedis.util.Pool.getResource(Pool.java:34) ~[jedis-4.2.3.jar:?]
at redis.clients.jedis.ConnectionPool.getResource(ConnectionPool.java:28) ~[jedis-4.2.3.jar:?]
at redis.clients.jedis.ConnectionPool.getResource(ConnectionPool.java:7) ~[jedis-4.2.3.jar:?]
at redis.clients.jedis.providers.PooledConnectionProvider.getConnection(PooledConnectionProvider.java:54) ~[jedis-4.2.3.jar:?]
at redis.clients.jedis.executors.DefaultCommandExecutor.executeCommand(DefaultCommandExecutor.java:23) ~[jedis-4.2.3.jar:?]
at redis.clients.jedis.UnifiedJedis.executeCommand(UnifiedJedis.java:148) ~[jedis-4.2.3.jar:?]
at redis.clients.jedis.UnifiedJedis.set(UnifiedJedis.java:585) ~[jedis-4.2.3.jar:?]
Suppressed: java.lang.IllegalArgumentException: port out of range:-1
at java.net.InetSocketAddress.checkPort(InetSocketAddress.java:152) ~[?:?]
at java.net.InetSocketAddress.<init>(InetSocketAddress.java:233) ~[?:?]
at redis.clients.jedis.DefaultJedisSocketFactory.connectToFirstSuccessfulHost(DefaultJedisSocketFactory.java:73) ~[jedis-4.2.3.jar:?]
at redis.clients.jedis.DefaultJedisSocketFactory.createSocket(DefaultJedisSocketFactory.java:87) ~[jedis-4.2.3.jar:?]
at redis.clients.jedis.Connection.connect(Connection.java:180) ~[jedis-4.2.3.jar:?]
at redis.clients.jedis.Connection.initializeFromClientConfig(Connection.java:338) ~[jedis-4.2.3.jar:?]
at redis.clients.jedis.Connection.<init>(Connection.java:53) ~[jedis-4.2.3.jar:?]
at redis.clients.jedis.ConnectionFactory.makeObject(ConnectionFactory.java:71) ~[jedis-4.2.3.jar:?]
at org.apache.commons.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:571) ~[commons-pool2-2.11.1.jar:2.11.1]
at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:298) ~[commons-pool2-2.11.1.jar:2.11.1]
at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:223) ~[commons-pool2-2.11.1.jar:2.11.1]
at redis.clients.jedis.util.Pool.getResource(Pool.java:34) ~[jedis-4.2.3.jar:?]
at redis.clients.jedis.ConnectionPool.getResource(ConnectionPool.java:28) ~[jedis-4.2.3.jar:?]
at redis.clients.jedis.ConnectionPool.getResource(ConnectionPool.java:7) ~[jedis-4.2.3.jar:?]
at redis.clients.jedis.providers.PooledConnectionProvider.getConnection(PooledConnectionProvider.java:54) ~[jedis-4.2.3.jar:?]
at redis.clients.jedis.executors.DefaultCommandExecutor.executeCommand(DefaultCommandExecutor.java:23) ~[jedis-4.2.3.jar:?]
at redis.clients.jedis.UnifiedJedis.executeCommand(UnifiedJedis.java:148) ~[jedis-4.2.3.jar:?]
at redis.clients.jedis.UnifiedJedis.set(UnifiedJedis.java:585) ~[jedis-4.2.3.jar:?]
Steps to reproduce:
- Create
JedisPooled
using theJedisPooled(config, url)
constructor - Attempt to issue any command
Jedis version:
4.2.3
Redis version:
N/A
Java version:
17.0.3
Issue Analytics
- State:
- Created a year ago
- Comments:11
Top Results From Across the Web
JedisPooled(config, url) constructor fails with -1 port
JedisPooled (config, url) constructor fails with -1 port.
Read more >JedisPool with one arg constructor fails · Issue #1 · redis/jedis
When i try to setup a JedisPool with: JedisPool pool = new JedisPool("localhost", Protocol.DEFAULT_PORT); the pool will fail to create connection.
Read more >redis - exception with jedis pool using spring framework
It doesn't look like a connection problem but a Spring configuration one. Perhaps the config parameter is wrong ( ...
Read more >Jedis (Jedis 4.3.1 API) - javadoc.io
This constructor only accepts a URI string. Jedis(String host, int port). Jedis(String host, int port, boolean ssl).
Read more >redis.clients.jedis.JedisPool.<init> java code examples | Tabnine
public RedisMetadataReport(URL url) { super(url); pool = new ... isNotBlank(password)) { return new JedisPool(jedisPoolConfig, host, port, timeout, ...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
[GENERAL COMMENT] Issue resolved by https://github.com/redis/jedis/commit/ba63b5d02459c38de3c42e63d866031f8a156122
Resolved Javadoc (for future reference): https://github.com/redis/jedis/blob/ba63b5d02459c38de3c42e63d866031f8a156122/src/main/java/redis/clients/jedis/JedisPooled.java#L74-L87