GitHub user tombentley opened a pull request:
https://github.com/apache/kafka/pull/3937
KAFKA-5856 AdminClient.createPartitions() follow up
Adds support for noop requests. When assignments are given with a request
that would be a noop we validate that the given assignments match the actual
ones, so that the state of the partitions after a successful call definitely
matches what was requested.
I can put the additional Javadoc on the exception in a separate PR if you
prefer.
The tests have the [improvements
requested](https://github.com/apache/kafka/pull/3930#issuecomment-331130475) by
@ijuma
The Javadoc is improved too. Putting the expected exceptions on the
AdminClient method is rather distant from where they're actually throw (the
Future from the Map from the Results from the call), but it keeps the
documentation about the method as a whole in one place. I didn't know whether
to include the detailed possible causes for each Exception. The more detail the
harder it is to maintain, but the more useful to the client.
/cc @ijuma
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/tombentley/kafka
KAFKA-5856-AdminClient.createPartitions-follow-up
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/kafka/pull/3937.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 #3937
----
commit 1fad83a82bd1477cf6b46ac26755bfcb37b4914a
Author: Tom Bentley <[email protected]>
Date: 2017-09-21T13:09:55Z
End exception messages with a period
commit cfcf1dbd59d3707035e15f2e6a3f857d22aadcdd
Author: Tom Bentley <[email protected]>
Date: 2017-09-21T13:18:12Z
Javadoc the difference between InvalidTopic and UknownTopicOrPartition
commit 3b2bb532a1097ffc58b8ca519dd42fcee71b63de
Author: Tom Bentley <[email protected]>
Date: 2017-09-21T16:38:05Z
Handling for noop requests
commit 08625b187c7713b41a49f5a12c2ca5221a24fb38
Author: Tom Bentley <[email protected]>
Date: 2017-09-21T17:08:32Z
Javadoc, plus change a couple of exceptions to be more consistent
commit 512308b563a192aa2a924ae732ef9b14e0b1b49a
Author: Tom Bentley <[email protected]>
Date: 2017-09-21T19:46:46Z
Improve tests
Ensure state doesn't change for errors cases whether or not
validateOnly=true
Add a mixed success and failure case
----
---