From eabf5d7f9fc8702a3ab48ed17f225aebc06cb920 Mon Sep 17 00:00:00 2001 From: Kai Moritz 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