From: Kai Moritz Date: Wed, 11 May 2022 16:25:36 +0000 (+0200) Subject: Sporadische Timing-Fehler in dem Test ausgeschlossen X-Git-Url: http://juplo.de/gitweb/?a=commitdiff_plain;h=7819bf5f7f5b875d14a2cbb2d435a6652e46b4ae;p=demos%2Fkafka%2Ftraining Sporadische Timing-Fehler in dem Test ausgeschlossen * Ohne die Verzögerung des Pollings von Awaitility schlug der neue Test manchmal fehl, wenn der letzte Fehler, der auf die DLQ verschoben werden musste, genau auf dem letzten verarbeiteten Datensatz aufgetreten ist. * Der Timeing-Fehler kann gezielt ausgelöst werden, wenn das Poll-Intervall quasi auf Null (1 Nanosekunde) gesetzt wird. * Das zurückhaltendere Polling führt dazu, dass der Timing-Fehler im Test nicht mehr auftritt. * _Schluss:_ Das Tooling war durch das penetrannte Polling von Awaitility einfach so überlastet, dass der Offset-Commit nicht schnell genug angekommen ist. --- diff --git a/src/test/java/de/juplo/kafka/ApplicationTests.java b/src/test/java/de/juplo/kafka/ApplicationTests.java index 43a4f61..7ec73f3 100644 --- a/src/test/java/de/juplo/kafka/ApplicationTests.java +++ b/src/test/java/de/juplo/kafka/ApplicationTests.java @@ -153,6 +153,7 @@ class ApplicationTests await("Offsets committed") .atMost(Duration.ofSeconds(10)) + .pollDelay(Duration.ofSeconds(1)) .untilAsserted(() -> { checkSeenOffsetsForProgress();