From: Kai Moritz <kai@juplo.de>
Date: Fri, 10 Jan 2025 14:03:49 +0000 (+0100)
Subject: Logging in `BackOffState` verbessert
X-Git-Tag: consumer/spring-consumer--error-handling--2025-02-signal~18
X-Git-Url: https://juplo.de/gitweb/?a=commitdiff_plain;h=bb335a54a1c4eafa5458b7bbe3bd7865ec320ba2;p=demos%2Fkafka%2Ftraining

Logging in `BackOffState` verbessert
---

diff --git a/src/main/java/de/juplo/kafka/BackOffState.java b/src/main/java/de/juplo/kafka/BackOffState.java
index 92d08df0..b656b10c 100644
--- a/src/main/java/de/juplo/kafka/BackOffState.java
+++ b/src/main/java/de/juplo/kafka/BackOffState.java
@@ -55,16 +55,18 @@ class BackOffState
       return false;
     }
 
-    if (clock.instant().isAfter(timeNextRetryIsDue))
+    Instant now = clock.instant();
+    Duration remaining = Duration.between(now, timeNextRetryIsDue);
+    if (remaining.isNegative())
     {
       numRetries++;
+      log.info("{} - {}. retry for {}, lateness: {}", id, numRetries, topicPartition, remaining.abs());
       initializeNextBackOff();
-      log.info("{} - Retrying {}", id, topicPartition);
       return false;
     }
     else
     {
-      log.info("{} - Next retry for {} is due at {}", id, topicPartition, timeNextRetryIsDue);
+      log.info("{} - Next retry for {} is due in {}", id, topicPartition, remaining);
       return true;
     }
   }