From 2f829fab98038d2f021c3b0bcbcc67b2821405cf Mon Sep 17 00:00:00 2001 From: Igor Artamonov Date: Sat, 18 Dec 2021 19:43:40 -0500 Subject: [PATCH] problem: confusing upstream lag numbers in log --- .../io/emeraldpay/dshackle/upstream/Multistream.kt | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/kotlin/io/emeraldpay/dshackle/upstream/Multistream.kt b/src/main/kotlin/io/emeraldpay/dshackle/upstream/Multistream.kt index bfb7f637..61802be7 100644 --- a/src/main/kotlin/io/emeraldpay/dshackle/upstream/Multistream.kt +++ b/src/main/kotlin/io/emeraldpay/dshackle/upstream/Multistream.kt @@ -295,7 +295,17 @@ abstract class Multistream( .groupBy { it } .map { "${it.key.name}/${it.value.size}" } .joinToString(",") - val lag = upstreams.map { it.getLag() } + val lag = upstreams + .map { + // by default, when no lag is available it uses Long.MAX_VALUE, and it doesn't make sense to print + // status with such value. use NA (as Not Available) instead + val value = it.getLag() + if (value == Long.MAX_VALUE) { + "NA" + } else { + value.toString() + } + } .joinToString(", ") val weak = upstreams .filter { it.getStatus() != UpstreamAvailability.OK }