在 v1.47.0 之后,对小于 2.8 的代理,DescribeCluster() 会在 restrictApiVersion 中缺少 API 密钥检查时出错,返回 io.EOF
作者: wxldonnaBJ创建于 2026年9月7日更新于 2026年9月7日
Part 1 — The DefaultVersion bump was the trigger v1.60.0 had DefaultVersion = V2_6_0_0. v1.60.2 bumped it to V2_8_0_0. DescribeCluster() in admin.go has a version gate:
if ca.conf.Version.IsAtLeast(V2_8_0_0) {
brokers, controllerID, err = ca.describeClusterUsingAPI() // sends API key 60
...
}
return ca.describeClusterUsingMetadata() // Metadata API fallback| Version | DefaultVersion | IsAtLeast(V2_8_0_0) | API key 60 sent | Result |
|---|---|---|---|---|
| v1.60.0 | V2_6_0_0 | false | No | Works — Metadata API used |
| v1.60.2 | V2_8_0_0 | true | Yes | Fails — broker < 2.8 closes socket |
内容来源: IBM/sarama