From 4bff99449827596fd62a16165da42225d5956804 Mon Sep 17 00:00:00 2001 From: Kai Moritz Date: Fri, 19 Aug 2022 11:10:52 +0200 Subject: [PATCH] ROT: Fehler in Test-Logik aufgedeckt MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit * Einige Assertions in dem Test für die Offset-Position nach einem Logik-Fehler waren fehlerhaft. * Dies ist bisher nicht aufgefallen, weil der Test nicht scharf genug war: Er hat so wenig Nachrichten gesendet, dass die fehlerhaften Assertions nicht aufgefallen sind, weil es nie zu einem Commit gekommen ist, bevor der Fehler ausgelöst wurde. * TODO: Der Test ist wahrscheinlich immer noch in hohem Maße abhängig von der Ausführungsgeschwindigkeit auf dem Test-System. Besser wäre es, wenn die Verarbeitung künstlich gedrosselt würde, so dass die Timing-Annahmen zu den asynchron ablaufenden Operationen nicht auf das Testsystem abgestimmt werden müssen. --- src/test/java/de/juplo/kafka/ApplicationTests.java | 4 ++-- src/test/java/de/juplo/kafka/GenericApplicationTests.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/test/java/de/juplo/kafka/ApplicationTests.java b/src/test/java/de/juplo/kafka/ApplicationTests.java index 8369a7b..1e73040 100644 --- a/src/test/java/de/juplo/kafka/ApplicationTests.java +++ b/src/test/java/de/juplo/kafka/ApplicationTests.java @@ -36,12 +36,12 @@ public class ApplicationTests extends GenericApplicationTests for (int partition = 0; partition < 10; partition++) { - for (int key = 0; key < 10; key++) + for (int key = 0; key < 10000; key++) { i++; Bytes value = new Bytes(longSerializer.serialize(TOPIC, (long)i)); - if (i == 77) + if (i == 99977) { if (logicErrors) { diff --git a/src/test/java/de/juplo/kafka/GenericApplicationTests.java b/src/test/java/de/juplo/kafka/GenericApplicationTests.java index ebad5a8..b0abf37 100644 --- a/src/test/java/de/juplo/kafka/GenericApplicationTests.java +++ b/src/test/java/de/juplo/kafka/GenericApplicationTests.java @@ -37,7 +37,7 @@ import static org.awaitility.Awaitility.*; properties = { "consumer.bootstrap-server=${spring.embedded.kafka.brokers}", "consumer.topic=" + TOPIC, - "consumer.commit-interval=1s" }) + "consumer.commit-interval=500ms" }) @EmbeddedKafka(topics = TOPIC, partitions = PARTITIONS) @Slf4j abstract class GenericApplicationTests -- 2.20.1