redis.clients.jedis.exceptions.JedisConnectionException: Unknown reply: 5

Spring JIRA | Mark Paluch | 5 months ago
  1. 0

    The concurrent use of {{SCAN}} and iteration over the resulting {{Cursor}} causes various Exceptions using the Jedis Driver. Test case: https://gist.github.com/mp911de/327cb876117bc1d74049aff25e5509cb {code} redis.clients.jedis.exceptions.JedisConnectionException: Unknown reply: 5 at redis.clients.jedis.Protocol.process(Protocol.java:154) at redis.clients.jedis.Protocol.processMultiBulkReply(Protocol.java:196) at redis.clients.jedis.Protocol.process(Protocol.java:147) at redis.clients.jedis.Protocol.processMultiBulkReply(Protocol.java:196) at redis.clients.jedis.Protocol.process(Protocol.java:147) at redis.clients.jedis.Protocol.read(Protocol.java:205) at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:297) at redis.clients.jedis.Connection.getRawObjectMultiBulkReply(Connection.java:242) at redis.clients.jedis.Connection.getObjectMultiBulkReply(Connection.java:248) at redis.clients.jedis.BinaryJedis.hscan(BinaryJedis.java:3300) at org.springframework.data.redis.connection.jedis.JedisConnection$5.doScan(JedisConnection.java:3437) {code} {code} java.lang.ClassCastException: [B cannot be cast to java.util.List at redis.clients.jedis.Connection.getRawObjectMultiBulkReply(Connection.java:242) at redis.clients.jedis.Connection.getObjectMultiBulkReply(Connection.java:248) at redis.clients.jedis.BinaryJedis.hscan(BinaryJedis.java:3300) at org.springframework.data.redis.connection.jedis.JedisConnection$5.doScan(JedisConnection.java:3437) {code} This issue gets only visible if: 1. Multiple threads try to use the {{SCAN}} command and iterate over the resulting {{Cursor}} 2. There is enough data to keep the iteration busy The reason is that the resulting {{Cursor}} s hold a reference to the connection that was allocated during the {{.scan()}} invocation. {{.scan()}} allocates a connection but then it releases the connection back and so can multiple {{Cursors}} in different {{Thread}} s share the same Jedis connection.

    Spring JIRA | 5 months ago | Mark Paluch
    redis.clients.jedis.exceptions.JedisConnectionException: Unknown reply: 5
  2. 0

    orca and front50 connect exception when create app or query app

    GitHub | 2 months ago | wangchangjian
    redis.clients.jedis.exceptions.JedisConnectionException: Unexpected end of stream.
  3. 0

    JedisConnectionException: Unknown Reply

    Google Groups | 2 years ago | Garvita Bajaj
    redis.clients.jedis.exceptions.JedisConnectionException: Unknown reply:
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    Jedis.subscribe() should handle client buffer limit overflow better

    GitHub | 3 years ago | AlexKorostov
    redis.clients.jedis.exceptions.JedisConnectionException: Unknown reply: 
  6. 0

    Jedis connecting to redis: JedisConnectionException

    Stack Overflow | 2 years ago | Neha
    redis.clients.jedis.exceptions.JedisConnectionException: Unknown reply:

    Not finding the right solution?
    Take a tour to get the most out of Samebug.

    Tired of useless tips?

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. redis.clients.jedis.exceptions.JedisConnectionException

      Unknown reply: 5

      at redis.clients.jedis.Protocol.process()
    2. Jedis
      BinaryJedis.hscan
      1. redis.clients.jedis.Protocol.process(Protocol.java:154)
      2. redis.clients.jedis.Protocol.processMultiBulkReply(Protocol.java:196)
      3. redis.clients.jedis.Protocol.process(Protocol.java:147)
      4. redis.clients.jedis.Protocol.processMultiBulkReply(Protocol.java:196)
      5. redis.clients.jedis.Protocol.process(Protocol.java:147)
      6. redis.clients.jedis.Protocol.read(Protocol.java:205)
      7. redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:297)
      8. redis.clients.jedis.Connection.getRawObjectMultiBulkReply(Connection.java:242)
      9. redis.clients.jedis.Connection.getObjectMultiBulkReply(Connection.java:248)
      10. redis.clients.jedis.BinaryJedis.hscan(BinaryJedis.java:3300)
      10 frames
    3. Spring Data Redis
      JedisConnection$5.doScan
      1. org.springframework.data.redis.connection.jedis.JedisConnection$5.doScan(JedisConnection.java:3437)
      1 frame