[GitHub] kafka pull request #4144: MINOR: Ensure that the producer in testAlterReplic...

2017-10-27 Thread asfgit
Github user asfgit closed the pull request at:

https://github.com/apache/kafka/pull/4144


---


[GitHub] kafka pull request #4144: MINOR: Ensure that the producer in testAlterReplic...

2017-10-27 Thread ijuma
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 
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.




---