You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
While running a massively parallelized workload on a fast modern machine, we have noticed a sporadic an connection exception coming from the Jedis initialization code since the migration to version 4.X:
redis.clients.jedis.exceptions.JedisConnectionException: Unknown reply: H
at [email protected]/redis.clients.jedis.Protocol.process(Protocol.java:140)
at [email protected]/redis.clients.jedis.Protocol.read(Protocol.java:192)
at [email protected]/redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:335)
at [email protected]/redis.clients.jedis.Connection.getMany(Connection.java:347)
at [email protected]/redis.clients.jedis.Connection.initializeFromClientConfig(Connection.java:415)
at [email protected]/redis.clients.jedis.Connection.<init>(Connection.java:61)
at [email protected]/redis.clients.jedis.Jedis.<init>(Jedis.java:214)
at [email protected]/redis.clients.jedis.JedisFactory.makeObject(JedisFactory.java:178)
at org.apache.commons.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:571)
at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:298)
at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:223)
at [email protected]/redis.clients.jedis.util.Pool.getResource(Pool.java:38)
at [email protected]/redis.clients.jedis.JedisPool.getResource(JedisPool.java:378)
at [email protected]/com.telenordigital.tdbase.redis.BaseJedisService.jedis(BaseJedisService.java:57)
at [email protected]/com.telenordigital.tdbase.redis.BaseJedisService.withJedis(BaseJedisService.java:67)
at [email protected]/com.telenordigital.tdbase.redis.BaseJedisService.<init>(BaseJedisService.java:48)
at [email protected]/com.telenordigital.payment.dob.batch.BaseDobBatch.lambda$new$1(BaseDobBatch.java:41)
at java.base/java.util.Optional.map(Optional.java:260)
This exception can indicate a corruption of the input connection stream, as if the number of read operations didn't match the number of writes. So maybe there is something wrong when Jedis sends two 'CLIENT SETINFO' commands in a pipeline expecting for two replies? I cannot quite see it by myself though.
Note that, when I re-run my workload with modified Jedis code without sending those client info commands everything works just fine, i.e. no exception is thrown.
Steps to reproduce:
Unfortunately, I haven't been able to come up with a reproducible test case yet
Redis / Jedis Configuration
a Redis server is running in a docker container on the local host
Jedis version:
4.4.3
Redis version:
7.0
Java version:
20
The text was updated successfully, but these errors were encountered:
Would it be a good idea to add a mode to disable sending client information based on some sort of system property or a config parameter? I couldn't achieve it by overriding the 'pom.properties' resource file loaded by the JedisMetaInfo.class's classloader when the application is running with Java Modules
Expected behavior
No exception is thrown
Actual behavior
While running a massively parallelized workload on a fast modern machine, we have noticed a sporadic an connection exception coming from the Jedis initialization code since the migration to version 4.X:
This exception can indicate a corruption of the input connection stream, as if the number of read operations didn't match the number of writes. So maybe there is something wrong when Jedis sends two 'CLIENT SETINFO' commands in a pipeline expecting for two replies? I cannot quite see it by myself though.
Note that, when I re-run my workload with modified Jedis code without sending those client info commands everything works just fine, i.e. no exception is thrown.
Steps to reproduce:
Unfortunately, I haven't been able to come up with a reproducible test case yet
Redis / Jedis Configuration
a Redis server is running in a docker container on the local host
Jedis version:
4.4.3
Redis version:
7.0
Java version:
20
The text was updated successfully, but these errors were encountered: