[
https://issues.apache.org/jira/browse/KAFKA-2756?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14992705#comment-14992705
]
ASF GitHub Bot commented on KAFKA-2756:
---------------------------------------
GitHub user guozhangwang opened a pull request:
https://github.com/apache/kafka/pull/438
KAFKA-2756: Use request version Id instead of latest version Id to parse
the corresponding response.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/guozhangwang/kafka K2756
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/kafka/pull/438.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 #438
----
commit 011c0dd896540b5b425b90e83ccc85f5a7cdbc94
Author: Guozhang Wang <[email protected]>
Date: 2015-11-05T23:33:21Z
v1
----
> Replication Broken between Kafka 0.8.2.1 and 0.9 - NetworkClient.java uses
> wrong protocol version
> -------------------------------------------------------------------------------------------------
>
> Key: KAFKA-2756
> URL: https://issues.apache.org/jira/browse/KAFKA-2756
> Project: Kafka
> Issue Type: Bug
> Affects Versions: 0.9.0.0
> Reporter: Matthew Bruce
> Assignee: Matthew Bruce
> Fix For: 0.9.0.0
>
> Attachments: KAFKA-2756.patch
>
>
> During a rolling upgrade from 0.8.2.1 to 0.9.0.0, replication between 0.9.0.0
> and 0.8.2.1 fails due to
> org.apache.kafka.clients.networkClient:handleCompletedReceives always using
> the latest version of the API Key available instead of the one specified by
> inter.broker.protocol.version.
> This line should not use ProtoUtils.currentResponseSchema and instead call
> ProtoUtils.ResponseSchema and specify a version explicitly:
> {code}
> Struct body = (Struct)
> ProtoUtils.currentResponseSchema(apiKey).read(receive.payload());
> {code}
> This results in WARN messages like the following in the server.log file as
> the responses are decoded with the wrong Schema:
> {code}
> [2015-11-05 19:13:10,309] WARN [ReplicaFetcherThread-0-182050600], Error in
> fetch kafka.server.ReplicaFetcherThread$FetchRequest@6cc18858. Possible
> cause: org.apache.kafka.common.protocol.types.SchemaException: Error reading
> field 'responses': Error reading field 'topic':
> java.nio.BufferUnderflowException (kafka.server.ReplicaFetcherThread)
> {code}
> {code}
> [2015-11-03 16:55:15,178] WARN [ReplicaFetcherThread-1-182050600], Error in
> fetch kafka.server.ReplicaFetcherThread$FetchRequest@224388b2. Possible
> cause: org.apache.kafka.common.protocol.types.SchemaException: Error reading
> field 'responses': Error reading field 'partition_responses': Error reading
> field 'record_set': java.lang.IllegalArgumentException
> (kafka.server.ReplicaFetcherThread)
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)