From df672b6a28f96b4fe588d6ce46d71b2001eac627 Mon Sep 17 00:00:00 2001
From: Kai Moritz <kai@juplo.de>
Date: Sat, 11 Jan 2025 10:58:25 +0100
Subject: [PATCH] =?utf8?q?Bedingungsloser=20Reset=20(und=20besserer=20Meth?=
 =?utf8?q?oden-Name)=20f=C3=BCr=20`BackOffState`?=
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit

---
 src/main/java/de/juplo/kafka/BackOffState.java    | 15 ++-------------
 src/main/java/de/juplo/kafka/ExampleConsumer.java |  2 +-
 .../java/de/juplo/kafka/BackOffStateTest.java     |  8 ++++----
 3 files changed, 7 insertions(+), 18 deletions(-)

diff --git a/src/main/java/de/juplo/kafka/BackOffState.java b/src/main/java/de/juplo/kafka/BackOffState.java
index 4981bb6c..a51b5a98 100644
--- a/src/main/java/de/juplo/kafka/BackOffState.java
+++ b/src/main/java/de/juplo/kafka/BackOffState.java
@@ -95,20 +95,9 @@ class BackOffState
     return this.offset == offset && timeNextRetryIsDue == null;
   }
 
-  void markAsCompleted()
+  void reset()
   {
-    if (timeNextRetryIsDue != null)
-    {
-      log.info(
-        "{} - {}. retry for offset={} in {} succeeded after {}",
-        id,
-        numRetries,
-        offset,
-        topicPartition,
-        Duration.between(startTime, timeNextRetryIsDue));
-
-      timeNextRetryIsDue = null;
-    }
+    timeNextRetryIsDue = null;
   }
 
   private void initializeNextBackOff()
diff --git a/src/main/java/de/juplo/kafka/ExampleConsumer.java b/src/main/java/de/juplo/kafka/ExampleConsumer.java
index 9e73b119..b767ca82 100644
--- a/src/main/java/de/juplo/kafka/ExampleConsumer.java
+++ b/src/main/java/de/juplo/kafka/ExampleConsumer.java
@@ -178,7 +178,7 @@ public class ExampleConsumer implements ConsumerRebalanceListener, Runnable
                 log.warn("{} - Ignoring non-retryable error: {}", id, e.toString());
               }
 
-              backOffState[topicPartition.partition()].markAsCompleted();
+              backOffState[topicPartition.partition()].reset();
             }
           }
         }
diff --git a/src/test/java/de/juplo/kafka/BackOffStateTest.java b/src/test/java/de/juplo/kafka/BackOffStateTest.java
index 338631c1..7160768d 100644
--- a/src/test/java/de/juplo/kafka/BackOffStateTest.java
+++ b/src/test/java/de/juplo/kafka/BackOffStateTest.java
@@ -263,14 +263,14 @@ class BackOffStateTest
   }
 
   @Test
-  @DisplayName("A started BackOffState is not waiting for a retry if it is marked as completed")
-  void StartedBackOffStateIsNotWaitingForRetryIfMarkedCompleted()
+  @DisplayName("A started BackOffState is not waiting for a retry after a reset")
+  void StartedBackOffStateIsNotWaitingForRetryAfterReset()
   {
     // GIVEN
     BackOffState backOffState = StartedBackoffStateWithRetries();
 
     // WHEN
-    backOffState.markAsCompleted();
+    backOffState.reset();
 
     // THEN
     assertThat(backOffState.isWaitingForNextRetry()).isFalse();
@@ -284,7 +284,7 @@ class BackOffStateTest
     BackOffState backOffState = StartedBackoffStateWithRetries();
 
     // WHEN
-    backOffState.markAsCompleted();
+    backOffState.reset();
 
     // THEN
     assertThat(backOffState.isStarted(OFFSET)).isTrue();
-- 
2.20.1