Skip to content

Protocol Compatibility Matrix

This document lists RobustMQ Kafka's compatibility per API: the supported version range, implementation status, and differences from native Kafka. It is the authoritative reference for deciding whether your client / tool can connect directly.

RobustMQ Kafka API Coverage

Status legend

IconMeaning
Full: implemented per protocol semantics, ready to use
🟡Partial: advertised and accepts requests, but semantics are trimmed (e.g. no-op, not enforced)
Intentionally unsupported: returns an explicit error instead of crashing; not offered by design
Not implemented: not advertised in ApiVersions; clients using it fail fast

"Supported versions" is the range RobustMQ advertises in ApiVersions; where no version is noted, the API is handled at the version the client negotiates.

Data plane

KeyAPIVersionsStatusDifferences / Notes
0Producev0–7Idempotent writes supported; transactional writes rejected; LogAppendTime not applied
1Fetchv4–13Consumer side always returns uncompressed records; no incremental fetch session; partition_leader_epoch=0; no read_committed
2ListOffsetsv0–6earliest / latest / by timestamp
3Metadatav0–12Auto-creates topics by default (auto.create.topics.enable)

Consumer group (classic protocol)

KeyAPIVersionsStatusDifferences / Notes
8OffsetCommitCommit consumed offsets
9OffsetFetchv8 supports multi-group batch queries
10FindCoordinatorv0–4Returns the coordinator for both group and transaction; transaction fails fast in later APIs
11JoinGroupv0–6Join a group, trigger rebalance
12HeartbeatMaintain membership
13LeaveGroupVoluntarily leave
14SyncGroupSync partition assignment
15DescribeGroupsQuery group state
16ListGroupsList all groups
42DeleteGroupsDelete groups
47OffsetDeleteDelete committed offsets

Consumer group (KIP-848, next generation)

KeyAPIVersionsStatusDifferences / Notes
68ConsumerGroupHeartbeatv0–1Server-side assignment; no subscribed_topic_regex
69ConsumerGroupDescribev0–1Query next-gen consumer groups

Idempotent Producer

KeyAPIVersionsStatusDifferences / Notes
22InitProducerIdv0–3Idempotent only; with transactional_id returns TRANSACTIONAL_ID_AUTHORIZATION_FAILED

Authentication & handshake

KeyAPIVersionsStatusDifferences / Notes
17SaslHandshakev1Select SASL mechanism (SCRAM-SHA-256 / SCRAM-SHA-512)
18ApiVersionsv0–4First request after connect, negotiates available APIs
36SaslAuthenticateSASL token exchange

Topic / Partition management

KeyAPIVersionsStatusDifferences / Notes
19CreateTopicsv0–7Rejects manual replica assignment (replicas managed by storage)
20DeleteTopicsDelete topics
21DeleteRecordsoffset > HW returns OffsetOutOfRange
37CreatePartitionsAdd partitions

Configuration management

KeyAPIVersionsStatusDifferences / Notes
32DescribeConfigsQuery configuration
33AlterConfigsModify configuration
44IncrementalAlterConfigsIncrementally modify configuration
74ListConfigResources🟡no-op: advertised but returns no resources

Most configs are storable but not enforced; see Compatibility & Limitations.

Cluster & operations

KeyAPIVersionsStatusDifferences / Notes
60DescribeClusterCluster info
75DescribeTopicPartitionsv0Topic partition details
61DescribeProducersNot advertised
34AlterReplicaLogDirsIntentionally unsupported (returns error, does not crash)
35DescribeLogDirsIntentionally unsupported
43ElectLeadersIntentionally unsupported (leaders managed by storage)
45AlterPartitionReassignmentsIntentionally unsupported (replicas auto-managed)
46ListPartitionReassignmentsIntentionally unsupported
57UpdateFeaturesIntentionally unsupported

Security: ACL / quotas / SCRAM credentials

KeyAPIVersionsStatusDifferences / Notes
29DescribeAclsQuery ACLs (not enforced for authorization)
30CreateAclsCreate ACLs (not enforced)
31DeleteAclsDelete ACLs (not enforced)
48DescribeClientQuotasQuery quotas (client-id only, not enforced for throttling)
49AlterClientQuotasModify quotas (not enforced)
50DescribeUserScramCredentialsQuery SCRAM credentials
51AlterUserScramCredentialsAdd/remove SCRAM credentials (SASL auth validates against these)

Delegation tokens

KeyAPIVersionsStatusDifferences / Notes
38CreateDelegationTokenMetadata management; tokens do not participate in auth
39RenewDelegationTokenRenew (metadata)
40ExpireDelegationTokenExpire (metadata)
41DescribeDelegationTokenQuery (metadata)

Client telemetry (KIP-714)

KeyAPIVersionsStatusDifferences / Notes
71GetTelemetrySubscriptions🟡no-op: accepted but no subscription pushed
72PushTelemetry🟡no-op: accepted but metrics not processed

Transactions (unsupported)

The following APIs are not advertised in ApiVersions; clients enabling transactions fail fast.

KeyAPIStatus
24AddPartitionsToTxn
25AddOffsetsToTxn
26EndTxn
28TxnOffsetCommit
65DescribeTransactions
66ListTransactions

FindCoordinator returns a coordinator for transactions, but the subsequent transaction APIs fail immediately; InitProducerId supports idempotent mode only.

Share Group (KIP-932, unsupported)

All Share Group APIs are ❌ unsupported (ShareGroupHeartbeat / ShareGroupDescribe / ShareFetch / ShareAcknowledge / DescribeShareGroupOffsets / AlterShareGroupOffsets / DeleteShareGroupOffsets, etc.).

Further reading

🎉 既然都登录了 GitHub,不如顺手给我们点个 Star 吧!⭐ 你的支持是我们最大的动力 🚀