From df9755ed8c358139aaa35cac38ae74e777c4dc35 Mon Sep 17 00:00:00 2001 From: Matthias Berndt Date: Thu, 23 Nov 2023 13:05:18 +0100 Subject: [PATCH 1/2] simplify --- .../src/main/scala/zio/redis/internal/ClusterExecutor.scala | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/redis/src/main/scala/zio/redis/internal/ClusterExecutor.scala b/modules/redis/src/main/scala/zio/redis/internal/ClusterExecutor.scala index c682fa502..562884c08 100644 --- a/modules/redis/src/main/scala/zio/redis/internal/ClusterExecutor.scala +++ b/modules/redis/src/main/scala/zio/redis/internal/ClusterExecutor.scala @@ -51,7 +51,7 @@ private[redis] final class ClusterExecutor private ( case success => ZIO.succeed(success) }.catchSome[Any, RedisError, RespValue] { case e: RedisError.Ask => executeAsk(e.address) - case _: RedisError.Moved => refreshConnect(config.requestQueueSize) *> execute(keySlot) + case _: RedisError.Moved => refreshConnect *> execute(keySlot) } recover.retry(retryPolicy) } @@ -79,11 +79,11 @@ private[redis] final class ClusterExecutor private ( ZIO.fromOption(executorOpt).catchAll(_ => enrichedClusterIO) } - private def refreshConnect(requestQueueSize: Int): IO[RedisError, Unit] = + private def refreshConnect: IO[RedisError, Unit] = clusterConnection.updateZIO { connection => val addresses = connection.partitions.flatMap(_.addresses) for { - cluster <- scope.extend[Any](initConnectToCluster(addresses, requestQueueSize)) + cluster <- scope.extend[Any](initConnectToCluster(addresses, config.requestQueueSize)) _ <- ZIO.foreachParDiscard(connection.executors) { case (_, es) => es.scope.close(Exit.unit) } } yield cluster } From 0290040c9f7ca4d00d77139c05d876d37dc40216 Mon Sep 17 00:00:00 2001 From: Matthias Berndt Date: Thu, 23 Nov 2023 14:01:25 +0100 Subject: [PATCH 2/2] address code review comments --- .../src/main/scala/zio/redis/internal/RedisConnection.scala | 2 +- .../src/main/scala/zio/redis/internal/SingleNodeExecutor.scala | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/redis/src/main/scala/zio/redis/internal/RedisConnection.scala b/modules/redis/src/main/scala/zio/redis/internal/RedisConnection.scala index 2e0226d16..7b298a68f 100644 --- a/modules/redis/src/main/scala/zio/redis/internal/RedisConnection.scala +++ b/modules/redis/src/main/scala/zio/redis/internal/RedisConnection.scala @@ -75,7 +75,7 @@ private[redis] object RedisConnection { ZLayer.scoped(ZIO.serviceWithZIO[RedisConfig](create)) lazy val local: ZLayer[Any, IOError, RedisConfig & RedisConnection] = - ZLayer.succeed(RedisConfig.Local) >+> layer + ZLayer.make[RedisConfig & RedisConnection](ZLayer.succeed(RedisConfig.Local), layer) def create(uri: RedisConfig): ZIO[Scope, RedisError.IOError, RedisConnection] = connect(new InetSocketAddress(uri.host, uri.port)) diff --git a/modules/redis/src/main/scala/zio/redis/internal/SingleNodeExecutor.scala b/modules/redis/src/main/scala/zio/redis/internal/SingleNodeExecutor.scala index df7bd0f98..030232b66 100644 --- a/modules/redis/src/main/scala/zio/redis/internal/SingleNodeExecutor.scala +++ b/modules/redis/src/main/scala/zio/redis/internal/SingleNodeExecutor.scala @@ -67,7 +67,7 @@ private[redis] object SingleNodeExecutor { RedisConnection.layer >>> makeLayer def local: ZLayer[Any, RedisError.IOError, RedisExecutor] = - ZLayer.succeed(RedisConfig.Local) >>> layer + ZLayer.make[RedisExecutor](ZLayer.succeed(RedisConfig.Local), layer) def create(connection: RedisConnection): URIO[Scope & RedisConfig, SingleNodeExecutor] = for {