From 6c631a65fe4d1c55ac99428874c694f8eefd6236 Mon Sep 17 00:00:00 2001 From: Christopher Batey Date: Tue, 8 Sep 2020 09:17:34 +0100 Subject: [PATCH] Reduce sharding warnings when there are no buffered messages (#29525) * Reduce sharding warnings when there are no buffered messages If shard regions are started before the cluster is formed warnings are logged. The user can wait until SelfUp but for the cases they don't make logging debug until the user has buffered messages. * Review feedback * Review feedback --- .../akka/cluster/sharding/ShardRegion.scala | 39 +++++++++++++------ 1 file changed, 28 insertions(+), 11 deletions(-) diff --git a/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/ShardRegion.scala b/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/ShardRegion.scala index 6f9bd86727..9969bda4ee 100644 --- a/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/ShardRegion.scala +++ b/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/ShardRegion.scala @@ -931,12 +931,23 @@ private[akka] class ShardRegion( val coordinatorMessage = if (cluster.state.unreachable(membersByAge.head)) s"Coordinator [${membersByAge.head}] is unreachable." else s"Coordinator [${membersByAge.head}] is reachable." - log.warning( - "{}: Trying to register to coordinator at [{}], but no acknowledgement. Total [{}] buffered messages. [{}]", - typeName, - actorSelections.mkString(", "), - shardBuffers.totalSize, - coordinatorMessage) + val bufferSize = shardBuffers.totalSize + if (bufferSize > 0) { + if (log.isWarningEnabled) { + log.warning( + "{}: Trying to register to coordinator at [{}], but no acknowledgement. Total [{}] buffered messages. [{}]", + typeName, + actorSelections.mkString(", "), + bufferSize, + coordinatorMessage) + } + } else if (log.isDebugEnabled) { + log.debug( + "{}: Trying to register to coordinator at [{}], but no acknowledgement. No buffered messages yet. [{}]", + typeName, + actorSelections.mkString(", "), + coordinatorMessage) + } } else { // Members start off as "Removed" val partOfCluster = cluster.selfMember.status != MemberStatus.Removed @@ -946,11 +957,17 @@ private[akka] class ShardRegion( else "Probably, no seed-nodes configured and manual cluster or bootstrap join not performed?" - log.warning( - "{}: No coordinator found to register. {} Total [{}] buffered messages.", - typeName, - possibleReason, - shardBuffers.totalSize) + val bufferSize = shardBuffers.totalSize + if (bufferSize > 0) { + log.warning( + "{}: No coordinator found to register. {} Total [{}] buffered messages.", + typeName, + possibleReason, + bufferSize) + } else { + log.debug("{}: No coordinator found to register. {} No buffered messages yet.", typeName, possibleReason) + } + } } }