You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

3.4 KiB

Kafka API Version Matrix Audit

Summary

This document audits the advertised API versions in handleApiVersions() against actual implementation support in validateAPIVersion() and handlers.

Current Status: ALL VERIFIED

API Version Matrix

API Key API Name Advertised Validated Handler Implemented Status
18 ApiVersions v0-v4 v0-v4 v0-v4 Match
3 Metadata v0-v7 v0-v7 v0-v7 Match
0 Produce v0-v7 v0-v7 v0-v7 Match
1 Fetch v0-v7 v0-v7 v0-v7 Match
2 ListOffsets v0-v2 v0-v2 v0-v2 Match
19 CreateTopics v0-v5 v0-v5 v0-v5 Match
20 DeleteTopics v0-v4 v0-v4 v0-v4 Match
10 FindCoordinator v0-v3 v0-v3 v0-v3 Match
11 JoinGroup v0-v6 v0-v6 v0-v6 Match
14 SyncGroup v0-v5 v0-v5 v0-v5 Match
8 OffsetCommit v0-v2 v0-v2 v0-v2 Match
9 OffsetFetch v0-v5 v0-v5 v0-v5 Match
12 Heartbeat v0-v4 v0-v4 v0-v4 Match
13 LeaveGroup v0-v4 v0-v4 v0-v4 Match
15 DescribeGroups v0-v5 v0-v5 v0-v5 Match
16 ListGroups v0-v4 v0-v4 v0-v4 Match
32 DescribeConfigs v0-v4 v0-v4 v0-v4 Match
22 InitProducerId v0-v4 v0-v4 v0-v4 Match
60 DescribeCluster v0-v1 v0-v1 v0-v1 Match

Implementation Details

Core APIs

  • ApiVersions (v0-v4): Supports both flexible (v3+) and non-flexible formats. v4 added for Kafka 8.0.0 compatibility.
  • Metadata (v0-v7): Full version support with flexible format in v7+
  • Produce (v0-v7): Supports transactional writes and idempotent producers
  • Fetch (v0-v7): Includes schema-aware fetching and multi-batch support

Consumer Group Coordination

  • FindCoordinator (v0-v3): v3+ supports flexible format
  • JoinGroup (v0-v6): Capped at v6 (first flexible version)
  • SyncGroup (v0-v5): Full consumer group protocol support
  • Heartbeat (v0-v4): Consumer group session management
  • LeaveGroup (v0-v4): Clean consumer group exit
  • OffsetCommit (v0-v2): Consumer offset persistence
  • OffsetFetch (v0-v5): v3+ includes throttle_time_ms, v5+ includes leader_epoch

Topic Management

  • CreateTopics (v0-v5): v2+ uses compact arrays and tagged fields
  • DeleteTopics (v0-v4): Full topic deletion support
  • ListOffsets (v0-v2): Offset listing for partitions

Admin & Discovery

  • DescribeCluster (v0-v1): AdminClient compatibility (KIP-919)
  • DescribeGroups (v0-v5): Consumer group introspection
  • ListGroups (v0-v4): List all consumer groups
  • DescribeConfigs (v0-v4): Configuration inspection
  • InitProducerId (v0-v4): Transactional producer initialization

Verification Source

All version ranges verified from handler.go:

  • SupportedApiKeys array (line 1196): Advertised versions
  • validateAPIVersion() function (line 2903): Validation ranges
  • Individual handler implementations: Actual version support

Last verified: 2025-10-13

Maintenance Notes

  1. After adding new API handlers, update all three locations:
    • SupportedApiKeys array
    • validateAPIVersion() map
    • This documentation
  2. Test new versions with kafka-go and Sarama clients
  3. Ensure flexible format support for v3+ APIs where applicable