GitHub user cmccabe opened a pull request:
https://github.com/apache/kafka/pull/4295
KAFKA-6299. Fix AdminClient error handling when metadata changes
AdminClient should only call Metadata#requestUpdate when needed.
AdminClient should retry requests for which the controller has changed.
Fix an issue where AdminClient requests might not get a security
exception, even when a metadata fetch fails with an authorization
exception.
Fix a possible issue where AdminClient might leak a socket after the
timeout expires on a hard close, if a very narrow race condition is
hit.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/cmccabe/kafka KAFKA-6299
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/kafka/pull/4295.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 #4295
----
commit 5f548050131d4ff9078cba3e20062cc17788eca8
Author: Colin P. Mccabe <[email protected]>
Date: 2017-12-06T00:32:51Z
KAFKA-6299. Fix AdminClient error handling when metadata changes
AdminClient should only call Metadata#requestUpdate when needed.
AdminClient should retry requests for which the controller has changed.
Fix an issue where AdminClient requests might not get a security
exception, even when a metadata fetch fails with an authorization
exception.
Fix a possible issue where AdminClient might leak a socket after the
timeout expires on a hard close, if a very narrow race condition is
hit.
----
---