zio / zio-redis

A ZIO-based redis client
https://zio.github.io/zio-redis
Apache License 2.0
123 stars 63 forks source link

Flaky tests on cluster executors #911

Open mijicd opened 10 months ago

mijicd commented 10 months ago

API tests occasionally fail with protocol errors when running on cluster executor. For example:

      - Redis commands - Cluster executor - keys - set followed by get
        Exception in thread "zio-fiber-1531" zio.redis.RedisError$ProtocolError: null
            at zio.redis.internal.ClusterExecutor.execute.executeSafe.recover(ClusterExecutor.scala:51)
            at zio.redis.internal.ClusterExecutor.execute.executeSafe.recover(ClusterExecutor.scala:53)
            at zio.redis.internal.ClusterExecutor.execute.executeSafe(ClusterExecutor.scala:57)
            at zio.redis.internal.RedisCommand.run(RedisCommand.scala:32)
            at zio.redis.internal.RedisCommand.run(RedisCommand.scala:33)
            at zio.redis.KeysSpec.keysSuite(KeysSpec.scala:18)
            at zio.redis.KeysSpec.keysSuite(KeysSpec.scala:13)
      - Redis commands - Cluster executor - keys - setGet with non-existing key
        Exception in thread "zio-fiber-2217" zio.redis.RedisError$ProtocolError: null
            at zio.redis.internal.ClusterExecutor.execute.executeSafe.recover(ClusterExecutor.scala:51)
            at zio.redis.internal.ClusterExecutor.execute.executeSafe.recover(ClusterExecutor.scala:53)
            at zio.redis.internal.ClusterExecutor.execute.executeSafe(ClusterExecutor.scala:57)
            at zio.redis.internal.RedisCommand.run(RedisCommand.scala:32)
            at zio.redis.internal.RedisCommand.run(RedisCommand.scala:33)
            at zio.redis.KeysSpec.keysSuite(KeysSpec.scala:27)
            at zio.redis.KeysSpec.keysSuite(KeysSpec.scala:22)
      - Redis commands - Cluster executor - keys - setGet with the existing key
        Exception in thread "zio-fiber-2903" zio.redis.RedisError$ProtocolError: null
            at zio.redis.internal.ClusterExecutor.execute.executeSafe.recover(ClusterExecutor.scala:51)
            at zio.redis.internal.ClusterExecutor.execute.executeSafe.recover(ClusterExecutor.scala:53)
            at zio.redis.internal.ClusterExecutor.execute.executeSafe(ClusterExecutor.scala:57)
            at zio.redis.internal.RedisCommand.run(RedisCommand.scala:32)
            at zio.redis.internal.RedisCommand.run(RedisCommand.scala:33)
            at zio.redis.KeysSpec.keysSuite(KeysSpec.scala:35)
            at zio.redis.KeysSpec.keysSuite(KeysSpec.scala:30)
      - Redis commands - Cluster executor - keys - get non-existing key
        Exception in thread "zio-fiber-3589" zio.redis.RedisError$ProtocolError: null
            at zio.redis.internal.ClusterExecutor.execute.executeSafe.recover(ClusterExecutor.scala:51)
            at zio.redis.internal.ClusterExecutor.execute.executeSafe.recover(ClusterExecutor.scala:53)
            at zio.redis.internal.ClusterExecutor.execute.executeSafe(ClusterExecutor.scala:57)
            at zio.redis.internal.RedisCommand.run(RedisCommand.scala:32)
            at zio.redis.internal.RedisCommand.run(RedisCommand.scala:33)
            at zio.redis.KeysSpec.keysSuite(KeysSpec.scala:44)
            at zio.redis.KeysSpec.keysSuite(KeysSpec.scala:40)

I have temporary ignored them (via ifEnvNotSet) to stabilize the CI.

mijicd commented 10 months ago

cc @anatolysergeev