Uploaded image for project: 'Debezium'
  1. Debezium
  2. DBZ-7576

Redis tests fail randomly with JedisConnectionException: Unexpected end of stream

XMLWordPrintable

      Redis sink tests fail randomly, but very often, with JedisConnectionException: Unexpected end of stream.
      Either when the tests connects to the Redis to initialize offset store:

      2024-02-28 09:07:24,059 ERROR [io.deb.ser.ConnectorLifecycle] (pool-6-thread-1) Connector completed: success = 'false', message = 'Unable to configure and start the 'io.debezium.server.redis.RedisOffsetBackingStore' offset backing store', error = 'io.debezium.storage.redis.RedisClientConnectionException: redis.clients.jedis.exceptions.JedisConnectionException: Unexpected end of stream.': io.debezium.storage.redis.RedisClientConnectionException: redis.clients.jedis.exceptions.JedisConnectionException: Unexpected end of stream.
              at io.debezium.storage.redis.RedisConnection.getRedisClient(RedisConnection.java:103)
              at io.debezium.storage.redis.offset.RedisOffsetBackingStore.connect(RedisOffsetBackingStore.java:52)
              at io.debezium.storage.redis.offset.RedisOffsetBackingStore.start(RedisOffsetBackingStore.java:71)
              at io.debezium.embedded.EmbeddedEngine.initializeOffsetStore(EmbeddedEngine.java:552)
              at io.debezium.embedded.EmbeddedEngine.run(EmbeddedEngine.java:425)
              at io.debezium.embedded.ConvertingEngineBuilder$1.run(ConvertingEngineBuilder.java:163)
              at io.debezium.server.DebeziumServer.lambda$start$1(DebeziumServer.java:173)
              at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
              at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
              at java.base/java.lang.Thread.run(Thread.java:1583)
      Caused by: redis.clients.jedis.exceptions.JedisConnectionException: Unexpected end of stream.
              at redis.clients.jedis.util.RedisInputStream.ensureFill(RedisInputStream.java:201)
              at redis.clients.jedis.util.RedisInputStream.readByte(RedisInputStream.java:42)
              at redis.clients.jedis.Protocol.process(Protocol.java:126)
              at redis.clients.jedis.Protocol.read(Protocol.java:192)
              at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:316)
              at redis.clients.jedis.Connection.getStatusCodeReply(Connection.java:243)
              at redis.clients.jedis.Jedis.ping(Jedis.java:354)
              at io.debezium.storage.redis.RedisConnection.getRedisClient(RedisConnection.java:92)
              ... 9 more
      

      or during initialization of the test resource:

      2024-02-26 15:28:23,238 ERROR [io.qua.run.Application] (main) Failed to start application (with profile [prod]): java.lang.RuntimeException: Failed to start quarkus
              at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
              at io.quarkus.runtime.Application.start(Application.java:101)
              at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:111)
              at io.quarkus.runtime.Quarkus.run(Quarkus.java:71)
              at io.quarkus.runtime.Quarkus.run(Quarkus.java:44)
              at io.quarkus.runtime.Quarkus.run(Quarkus.java:124)
              at io.debezium.server.Main.main(Main.java:15)
              at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
              at java.base/java.lang.reflect.Method.invoke(Method.java:580)
              at io.quarkus.bootstrap.runner.QuarkusEntryPoint.doRun(QuarkusEntryPoint.java:61)
              at io.quarkus.bootstrap.runner.QuarkusEntryPoint.main(QuarkusEntryPoint.java:32)
      Caused by: io.debezium.storage.redis.RedisClientConnectionException: redis.clients.jedis.exceptions.JedisConnectionException: Unexpected end of stream.
              at io.debezium.storage.redis.RedisConnection.getRedisClient(RedisConnection.java:103)
              at io.debezium.server.redis.RedisStreamChangeConsumer.connect(RedisStreamChangeConsumer.java:101)
              at io.debezium.server.redis.RedisStreamChangeConsumer_Bean.doCreate(Unknown Source)
              at io.debezium.server.redis.RedisStreamChangeConsumer_Bean.create(Unknown Source)
              at io.debezium.server.redis.RedisStreamChangeConsumer_Bean.create(Unknown Source)
              at io.debezium.server.DebeziumServer.start(DebeziumServer.java:131)
              at io.debezium.server.DebeziumServer_Bean.doCreate(Unknown Source)
              at io.debezium.server.DebeziumServer_Bean.create(Unknown Source)
              at io.debezium.server.DebeziumServer_Bean.create(Unknown Source)
              at io.quarkus.arc.impl.AbstractSharedContext.createInstanceHandle(AbstractSharedContext.java:113)
              at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:37)
              at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:34)
              at io.quarkus.arc.impl.LazyValue.get(LazyValue.java:26)
              at io.quarkus.arc.impl.ComputingCache.computeIfAbsent(ComputingCache.java:69)
              at io.quarkus.arc.impl.AbstractSharedContext.get(AbstractSharedContext.java:34)
              at io.quarkus.arc.impl.ClientProxies.getApplicationScopedDelegate(ClientProxies.java:21)
              at io.debezium.server.DebeziumServer_ClientProxy.arc$delegate(Unknown Source)
              at io.debezium.server.DebeziumServer_ClientProxy.arc_contextualInstance(Unknown Source)
              at io.debezium.server.DebeziumServer_Observer_Synthetic_f28a48f6bdce4326db44aec92fdb5c84d535b5d9.notify(Unknown Source)
              at io.quarkus.arc.impl.EventImpl$Notifier.notifyObservers(EventImpl.java:346)
              at io.quarkus.arc.impl.EventImpl$Notifier.notify(EventImpl.java:328)
              at io.quarkus.arc.impl.EventImpl.fire(EventImpl.java:82)
              at io.quarkus.arc.runtime.ArcRecorder.fireLifecycleEvent(ArcRecorder.java:155)
              at io.quarkus.arc.runtime.ArcRecorder.handleLifecycleEvents(ArcRecorder.java:106)
              at io.quarkus.deployment.steps.LifecycleEventsBuildStep$startupEvent1144526294.deploy_0(Unknown Source)
              at io.quarkus.deployment.steps.LifecycleEventsBuildStep$startupEvent1144526294.deploy(Unknown Source)
              ... 11 more
      Caused by: redis.clients.jedis.exceptions.JedisConnectionException: Unexpected end of stream.
              at redis.clients.jedis.util.RedisInputStream.ensureFill(RedisInputStream.java:201)
              at redis.clients.jedis.util.RedisInputStream.readByte(RedisInputStream.java:42)
              at redis.clients.jedis.Protocol.process(Protocol.java:126)
              at redis.clients.jedis.Protocol.read(Protocol.java:192)
              at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:316)
              at redis.clients.jedis.Connection.getStatusCodeReply(Connection.java:243)
              at redis.clients.jedis.Jedis.ping(Jedis.java:354)
              at io.debezium.storage.redis.RedisConnection.getRedisClient(RedisConnection.java:92)
              ... 36 more
      

              vjuranek@redhat.com Vojtech Juranek
              vjuranek@redhat.com Vojtech Juranek
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: