@@ -140,14 +140,14 @@ class Sharding private (
140
140
141
141
private def updateAssignments (
142
142
assignmentsOpt : Map [ShardId , Option [PodAddress ]],
143
- fromShardManager : Boolean
143
+ replaceAllAssignments : Boolean
144
144
): UIO [Unit ] = {
145
145
val assignments = assignmentsOpt.flatMap { case (k, v) => v.map(k -> _) }
146
146
ZIO .logDebug(" Received new shard assignments" ) *>
147
147
Metrics .shards
148
148
.set(assignmentsOpt.count { case (_, podOpt) => podOpt.contains(address) })
149
- .when(fromShardManager ) *>
150
- (if (fromShardManager ) shardAssignments.set(assignments)
149
+ .when(replaceAllAssignments ) *>
150
+ (if (replaceAllAssignments ) shardAssignments.set(assignments)
151
151
else
152
152
shardAssignments.update(map =>
153
153
// we keep self assignments (we don't override them with the new assignments
@@ -166,8 +166,8 @@ class Sharding private (
166
166
) ++
167
167
// then, get assignments changes from Redis
168
168
storage.assignmentsStream.map(_ -> false )
169
- _ <- assignmentStream.mapZIO { case (assignmentsOpt, fromShardManager ) =>
170
- updateAssignments(assignmentsOpt, fromShardManager ) *> latch.succeed(()).when(fromShardManager )
169
+ _ <- assignmentStream.mapZIO { case (assignmentsOpt, replaceAllAssignments ) =>
170
+ updateAssignments(assignmentsOpt, replaceAllAssignments ) *> latch.succeed(()).when(replaceAllAssignments )
171
171
}.runDrain
172
172
.retry(Schedule .fixed(config.refreshAssignmentsRetryInterval))
173
173
.interruptible
@@ -254,7 +254,7 @@ class Sharding private (
254
254
(shardManager.notifyUnhealthyPod(pod) *>
255
255
// just in case we missed the update from the pubsub, refresh assignments
256
256
shardManager.getAssignments
257
- .flatMap[Any , Throwable , Unit ](updateAssignments(_, fromShardManager = true ))).forkDaemon
257
+ .flatMap[Any , Throwable , Unit ](updateAssignments(_, replaceAllAssignments = false ))).forkDaemon
258
258
)
259
259
}
260
260
0 commit comments