GitHub user ijuma opened a pull request: https://github.com/apache/kafka/pull/4144
MINOR: Ensure that the producer in testAlterReplicaLogDirs is always closed Failure to close the producer could cause a transient failure, more details below. The request timeout was only 2 seconds, exceptions thrown were not propagated and the producer would not be closed. If the exception was thrown during `send`, we did not increment `numMessages` allowing the test to pass. I have increased the timeout to 10 seconds and made sure that exceptions are propagated. Example of the error: ```text kafka.api.SaslSslAdminClientIntegrationTest > classMethod STARTED kafka.api.SaslSslAdminClientIntegrationTest > classMethod FAILED java.lang.AssertionError: Found unexpected threads, allThreads=Set(metrics-meter-tick-thread-2, Signal Dispatcher, main, Reference Handler, scala-execution-context-global-164, kafka-producer-network-thread | producer-1, scala-execution-context-global-166, Test worker, scala-execution-context-global-1249, /0:0:0:0:0:0:0:1:58910 to /0:0:0:0:0:0:0:1:43025 workers Thread 2, Finalizer, /0:0:0:0:0:0:0:1:58910 to /0:0:0:0:0:0:0:1:43025 workers Thread 3, scala-execution-context-global-163, metrics-meter-tick-thread-1) ``` You can merge this pull request into a Git repository by running: $ git pull https://github.com/ijuma/kafka ensure-producer-is-closed-test-alter-replica-log-dirs Alternatively you can review and apply these changes as the patch at: https://github.com/apache/kafka/pull/4144.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #4144 ---- commit 11153a454cd7c561202ce3b86891715a3670b2c6 Author: Ismael Juma <ism...@juma.me.uk> Date: 2017-10-27T12:58:59Z MINOR: Ensure that the producer in testAlterReplicaLogDirs is always closed The request timeout was only 2 seconds and if an exception was thrown, it would not be propagated and the producer would be leaked. If the exception was thrown during `send`, we would not increment the counter and the test would pass. Increased the timeout to 10 seconds and made sure that a producer exception is now propagated. ---- ---