You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by ijuma <gi...@git.apache.org> on 2017/01/11 13:28:59 UTC

[GitHub] kafka pull request #2343: [WIP] Client Compatibility

GitHub user ijuma opened a pull request:

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

    [WIP] Client Compatibility

    Temporary PR to run tests in Jenkins, this will be merged to #2264 once @cmccabe comes online.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/ijuma/kafka KAFKA-4507

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/kafka/pull/2343.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 #2343
    
----
commit 64d321be6230a7bcb4a7962dd2bd7e00593a0c6a
Author: Colin P. Mccabe <cm...@confluent.io>
Date:   2017-01-04T18:29:19Z

    KAFKA-4507: The client should send older versions of requests to the broker if necessary

commit bf78ae087f1e8b79fab53028d5d379399266e5e0
Author: Colin P. Mccabe <cm...@confluent.io>
Date:   2017-01-05T21:25:01Z

    Add NodeApiVersions.java and unit tests
    
    (cherry picked from commit a4e2bdbeaf832d55985a056beea769805703f2dd)

commit 37168a9dc0a40c48a491f6c8af1b0e911bdf8ed7
Author: Colin P. Mccabe <cm...@confluent.io>
Date:   2017-01-05T21:43:05Z

    Improve NodeApiVersionsTest
    
    (cherry picked from commit 51fc001b938c2e0318fb4f44290ad3c243e7fbaa)

commit 9d55d80c0ff048ba6a5d3622ae1805b97321720d
Author: Colin P. Mccabe <cm...@confluent.io>
Date:   2017-01-06T20:41:20Z

    Fetcher.java: fix indentation

commit b22d58e9922873a074c24461293ff816898e0e94
Author: Colin P. Mccabe <cm...@confluent.io>
Date:   2017-01-06T20:41:28Z

    ProduceRequest: disable creating versions earlier than 2

commit 85d9ce90bf9d7955d99b275bcdc4185ed73f6a4b
Author: Colin P. Mccabe <cm...@confluent.io>
Date:   2017-01-07T00:47:44Z

    Add builders for CreateTopicsRequest and DeleteTopicsRequest, so that they can be used with send() etc.

commit 9c73252bba1974006fc78e1dae3ebe4ced62f6f1
Author: Colin P. Mccabe <cm...@confluent.io>
Date:   2017-01-08T03:48:17Z

    Fix checkStyle

commit 042d136b503798752ef5c3510d5a02609280bbd2
Author: Colin P. Mccabe <cm...@confluent.io>
Date:   2017-01-09T18:27:29Z

    Accessors should not start with 'get'

commit ea7dc13a46bc22078f5ee62ffb8693b4756ec368
Author: Colin P. Mccabe <cm...@confluent.io>
Date:   2017-01-09T18:52:32Z

    Don't special-case null when using the stringbuilder.  remove unused variable

commit 158dcd8870f29b73edbef768ff6604c9077c4c9a
Author: Colin P. Mccabe <cm...@confluent.io>
Date:   2017-01-09T20:26:23Z

    Some fixes to the system which handles mismatches between client versions and broker versions
    
    If a message cannot be sent to a broker, because it is too old, an
    exception will be thrown from AbstractRequest#Builder#build.  This
    exception will be picked up in NetworkClient and used to create a
    ClientResponse.  We now include the whole exception in the
    ClientResponse, for extra detail and clarity in case it is needed.
    
    In the Fetcher, we don't need to check for negative timestamps when
    requireTimestamps is set, since this will be caught by the builder's
    build method.  This check also was not reliable since sometimes no
    offsets at all would be returned, and it would appear as if the broker
    supported timestamps, when it did not.

commit 543386e38ffdbb78bde5d2b22cb361007162c8ba
Author: Colin P. Mccabe <cm...@confluent.io>
Date:   2017-01-09T20:36:56Z

    Fix checkstyle

commit 8bd043baa9c75db274b3b1ca3ad58a8e3bd65955
Author: Colin P. Mccabe <cm...@confluent.io>
Date:   2017-01-10T17:53:51Z

    OffsetAndTimestamp: improve comment

commit 72dd07a98285640b564e1a1968f88f291c8292ec
Author: Colin P. Mccabe <cm...@confluent.io>
Date:   2017-01-10T17:54:33Z

    ClientRequest: re-order the elements printed in toString

commit 10cec51e99e6ef00d20e5cdf0629345fc2eea3b0
Author: Colin P. Mccabe <cm...@confluent.io>
Date:   2017-01-10T17:55:57Z

    Some whitespace cleanups

commit da91cfca63c42dac3ac40eacad11764be64b9e78
Author: Colin P. Mccabe <cm...@confluent.io>
Date:   2017-01-10T19:02:53Z

    change AbstractRequest#getVersion to AbstractRequest#version

commit 8c16fe7b8ec5b3c08cb5bb9c8fe7881a07d5c60f
Author: Colin P. Mccabe <cm...@confluent.io>
Date:   2017-01-10T19:15:41Z

    NodeApiVersions: some improvements
    
    * don't require ApiKeys#ID_TO_APIKEY to be public
    * getUsableVersion should throw exception when there is no usable version

commit 21ab8256adb23e8427d17976dfce594cbaa1f2e2
Author: Colin P. Mccabe <cm...@confluent.io>
Date:   2017-01-10T19:16:48Z

    ControllerChannelManager: some style and whitespace fixes

commit 3e21bc8db760e199df51869f4195964e7edd8efd
Author: Colin P. Mccabe <cm...@confluent.io>
Date:   2017-01-10T19:17:41Z

    NetworkClientBlockingOps: leave out unnecessary parentheses

commit 692feca36daaa5fb8dbb07672417eb30f4ce7d65
Author: Colin P. Mccabe <cm...@confluent.io>
Date:   2017-01-10T19:19:54Z

    NetworkClient: some fixes
    
    * Remove unnecessary parentheses
    * handleAbortedSends doesn't need to take a 'now' parameter
    * fix a place where we were removing from nodeApiVersions using the wrong type (String instead of Integer)
    * convert log string concatenation to using placeholders
    * rename 'int nodeIndex' -> 'int nodeId'

commit fc4ae827c86d8985c3004a51f7dd37516bc74358
Author: Colin P. Mccabe <cm...@confluent.io>
Date:   2017-01-10T19:23:31Z

    Some refactors
    
    * remove a superfluous client.send() parameter
    * getOffsetsByTimesImpl -> retrieveOffsetsByTimes

commit d0cb3de9bffd02e2d830edae54e1e5d4d5d5eb84
Author: Colin P. Mccabe <cm...@confluent.io>
Date:   2017-01-10T19:27:26Z

    NetworkClient: remove unused 'now' parameter from handleConnections

commit bf5c34d34794e887584cdf5b6c57d8fd89549574
Author: Colin P. Mccabe <cm...@confluent.io>
Date:   2017-01-10T19:52:40Z

    Fetcher.java: add a check for null in Fetcher#listOffset

commit 80e03b00584f2269c4ba6ae3a4f4f51195eddcdc
Author: Colin P. Mccabe <cm...@confluent.io>
Date:   2017-01-10T20:42:44Z

    Utils.java: whitespace fix

commit 0cfa3e455bbf040f96d6fda766df2f2d235b76e7
Author: Colin P. Mccabe <cm...@confluent.io>
Date:   2017-01-10T21:08:54Z

    AbstractRequest#Builder: make toString methods more consistent and use parentheses not braces

commit d43241a67465a4b5f2740258cb7b7b1c44cf8594
Author: Colin P. Mccabe <cm...@confluent.io>
Date:   2017-01-10T21:45:35Z

    Rename Utils#join(Map...) to Utils#mkString

commit 6d7ed2955ef16b7c62795a02acac5c5b3fe87451
Author: Colin P. Mccabe <cm...@confluent.io>
Date:   2017-01-10T22:16:22Z

    ClientUtils, NodeApiVersions: fix checkstyle

commit be6c69e817ebb3136b52d7929f1cfa4dd54cf767
Author: Colin P. Mccabe <cm...@confluent.io>
Date:   2017-01-10T22:17:35Z

    NetworkClient: brokers should not send ApiVersionRequest; only clients should

commit 7decd77a57241fe420670f0b7c4d57178d9bdd86
Author: Colin P. Mccabe <cm...@confluent.io>
Date:   2017-01-10T23:08:38Z

    NodeApiVersions: fix getUsableVersion, refactor toString

commit 3f1c189d4249333a421228c4d06babfe6cd46165
Author: Colin P. Mccabe <cm...@confluent.io>
Date:   2017-01-10T23:17:26Z

    ReplicaFetcherThread: some style fixes

commit 4dd366232b57609105d8f1e4a502dbc80d9cc34c
Author: Colin P. Mccabe <cm...@confluent.io>
Date:   2017-01-10T23:17:39Z

    JoinGroupRequest: set rebalanceTimeout to -1 if the version is too old to send

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] kafka pull request #2343: [WIP] Client Compatibility

Posted by ijuma <gi...@git.apache.org>.
Github user ijuma closed the pull request at:

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


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---