The Client only supports a single Kafka version (currently mapped to 0.10.2). It should have a configuration to select the version of the client to support, and use the appropriate versions of requests. For reference, here are the requests supported:
0.8.0
TopicMetadata (v0)
ListOffset (v0)
0.8.1.1
TopicMetadata (v0)
ListOffset (v0)
OffsetCommit (v0)
OffsetFetch (v0)
0.8.2.2
TopicMetadata (v0)
ListOffset (v0)
OffsetCommit (v1)
OffsetFetch (v1) (v0 reads from ZK, v1 from Kafka)
GroupCoordinator (v0) (was called ConsumerMetadata)
0.9.0.1
TopicMetadata (v0)
ListOffset (v0)
OffsetCommit (v2)
OffsetFetch (v1) (v0 reads from ZK, v1 from Kafka)
GroupCoordinator (v0)
0.10.0.0
TopicMetadata (v1)
ListOffset (v0)
OffsetCommit (v2)
OffsetFetch (v1) (v0 reads from ZK, v1 from Kafka)
GroupCoordinator (v0)
DescribeGroups (v0)
0.10.1.1
TopicMetadata (v2)
ListOffset (v1)
OffsetCommit (v2)
OffsetFetch (v1) (v0 reads from ZK, v1 from Kafka)
GroupCoordinator (v0)
DescribeGroups (v0)
0.10.2.1
TopicMetadata (v2)
ListOffset (v1)
OffsetCommit (v2)
OffsetFetch (v1) (v0 reads from ZK, v1 from Kafka)
GroupCoordinator (v0)
DescribeGroups (v0)
0.11.0.0
TopicMetadata (v4)
ListOffset (v2)
OffsetCommit (v2)
OffsetFetch (v2) (v0 reads from ZK, v1 from Kafka)
FindCoordinator (v1)
DescribeGroups (v1)
1.0.0
TopicMetadata (v5)
ListOffset (v2)
OffsetCommit (v3)
OffsetFetch (v3) (v0 reads from ZK, v1 from Kafka)
FindCoordinator (v1)
DescribeGroups (v1)
The Client only supports a single Kafka version (currently mapped to 0.10.2). It should have a configuration to select the version of the client to support, and use the appropriate versions of requests. For reference, here are the requests supported: