* Die Awaitility-Aufrufe pollen den zu prüfenden Zustand wenn nicht anders
angegeben so häufig, wie es die CPU zulässt - also ohne Verzögerung
zwischen den Überprüfungen.
* Das kann den Rechner temporär so überlasten, dass der erwartete Zustand
in der abgewarteten Zeit gar nicht eintritt!
* Z.B. aufgetreten, wenn wie hier das Commit-Interval auf 1 Sekunde
gesetzt ist, das Polling von Awaitility aber noch ungebremst durchgeführt
wird.
* Um diese Quelle für falsche Fehler auszuschließen, wurde jetzt
durchgängig ein Poll-Intervall von 1 Sekunde für Awaitility gesetzt.
properties = {
"consumer.bootstrap-server=${spring.embedded.kafka.brokers}",
"consumer.topic=" + TOPIC,
properties = {
"consumer.bootstrap-server=${spring.embedded.kafka.brokers}",
"consumer.topic=" + TOPIC,
- "consumer.commit-interval=100ms" })
+ "consumer.commit-interval=1s" })
@EmbeddedKafka(topics = TOPIC, partitions = PARTITIONS)
@Slf4j
class ApplicationTests
@EmbeddedKafka(topics = TOPIC, partitions = PARTITIONS)
@Slf4j
class ApplicationTests
await("100 records received")
.atMost(Duration.ofSeconds(30))
await("100 records received")
.atMost(Duration.ofSeconds(30))
+ .pollInterval(Duration.ofSeconds(1))
.until(() -> receivedRecords.size() >= 100);
await("Offsets committed")
.atMost(Duration.ofSeconds(10))
.until(() -> receivedRecords.size() >= 100);
await("Offsets committed")
.atMost(Duration.ofSeconds(10))
+ .pollInterval(Duration.ofSeconds(1))
.untilAsserted(() ->
{
checkSeenOffsetsForProgress();
.untilAsserted(() ->
{
checkSeenOffsetsForProgress();
await("Consumer failed")
.atMost(Duration.ofSeconds(30))
await("Consumer failed")
.atMost(Duration.ofSeconds(30))
+ .pollInterval(Duration.ofSeconds(1))
.until(() -> !endlessConsumer.running());
checkSeenOffsetsForProgress();
.until(() -> !endlessConsumer.running());
checkSeenOffsetsForProgress();
endlessConsumer.start();
await("Consumer failed")
.atMost(Duration.ofSeconds(30))
endlessConsumer.start();
await("Consumer failed")
.atMost(Duration.ofSeconds(30))
+ .pollInterval(Duration.ofSeconds(1))
.until(() -> !endlessConsumer.running());
checkSeenOffsetsForProgress();
.until(() -> !endlessConsumer.running());
checkSeenOffsetsForProgress();