You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kafka.apache.org by gu...@apache.org on 2015/11/06 00:45:56 UTC
kafka git commit: KAFKA-2756: Use request version Id instead of
latest version Id to parse the corresponding response.
Repository: kafka
Updated Branches:
refs/heads/trunk 0273c4379 -> cbdd8218c
KAFKA-2756: Use request version Id instead of latest version Id to parse the corresponding response.
Author: Guozhang Wang <wa...@gmail.com>
Reviewers: Guozhang Wang
Closes #438 from guozhangwang/K2756
Project: http://git-wip-us.apache.org/repos/asf/kafka/repo
Commit: http://git-wip-us.apache.org/repos/asf/kafka/commit/cbdd8218
Tree: http://git-wip-us.apache.org/repos/asf/kafka/tree/cbdd8218
Diff: http://git-wip-us.apache.org/repos/asf/kafka/diff/cbdd8218
Branch: refs/heads/trunk
Commit: cbdd8218c16b56d952267c162dc1dfc93191571e
Parents: 0273c43
Author: Matthew Bruce <mb...@blackberry.com>
Authored: Thu Nov 5 15:51:42 2015 -0800
Committer: Guozhang Wang <wa...@gmail.com>
Committed: Thu Nov 5 15:51:42 2015 -0800
----------------------------------------------------------------------
.../src/main/java/org/apache/kafka/clients/NetworkClient.java | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kafka/blob/cbdd8218/clients/src/main/java/org/apache/kafka/clients/NetworkClient.java
----------------------------------------------------------------------
diff --git a/clients/src/main/java/org/apache/kafka/clients/NetworkClient.java b/clients/src/main/java/org/apache/kafka/clients/NetworkClient.java
index 2c56751..6c8853d 100644
--- a/clients/src/main/java/org/apache/kafka/clients/NetworkClient.java
+++ b/clients/src/main/java/org/apache/kafka/clients/NetworkClient.java
@@ -458,8 +458,10 @@ public class NetworkClient implements KafkaClient {
String source = receive.source();
ClientRequest req = inFlightRequests.completeNext(source);
ResponseHeader header = ResponseHeader.parse(receive.payload());
+ // Always expect the response version id to be the same as the request version id
short apiKey = req.request().header().apiKey();
- Struct body = (Struct) ProtoUtils.currentResponseSchema(apiKey).read(receive.payload());
+ short apiVer = req.request().header().apiVersion();
+ Struct body = (Struct) ProtoUtils.responseSchema(apiKey, apiVer).read(receive.payload());
correlate(req.request().header(), header);
if (!metadataUpdater.maybeHandleCompletedReceive(req, now, body))
responses.add(new ClientResponse(req, now, false, body));