From 6165b43744bf9df9d4bda577f11db75b704a6ac5 Mon Sep 17 00:00:00 2001 From: Gardner Vickers Date: Mon, 8 Oct 2018 14:07:56 -0700 Subject: [PATCH] MINOR: Fix LogDirFailureTest flake Ensure that `TestUtils.waitUntilTrue(..)` is blocked on both send completed and a new leader being assigned Author: Gardner Vickers Reviewers: Dhruvil Shah , Dong Lin Closes #5695 from gardnervickers/log-dir-failure-test-fix --- core/src/test/scala/unit/kafka/server/LogDirFailureTest.scala | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/src/test/scala/unit/kafka/server/LogDirFailureTest.scala b/core/src/test/scala/unit/kafka/server/LogDirFailureTest.scala index aaf64777e0d..47092820fbd 100644 --- a/core/src/test/scala/unit/kafka/server/LogDirFailureTest.scala +++ b/core/src/test/scala/unit/kafka/server/LogDirFailureTest.scala @@ -178,13 +178,15 @@ class LogDirFailureTest extends IntegrationTestHarness { } } - // Wait for producer to update metadata for the partition TestUtils.waitUntilTrue(() => { // ProduceResponse may contain KafkaStorageException and trigger metadata update producer.send(record) producer.partitionsFor(topic).asScala.find(_.partition() == 0).get.leader().id() != leaderServerId }, "Expected new leader for the partition", 6000L) + // Block on send to ensure that new leader accepts a message. + producer.send(record).get(6000L, TimeUnit.MILLISECONDS) + // Consumer should receive some messages TestUtils.waitUntilTrue(() => { consumer.poll(0).count() > 0