Commit Graph
3 Commits
Author SHA1 Message Date
chrislu baed1e156a fmt 2025-09-12 12:51:26 -07:00
chrislu d6f688a44f Limit Metadata API to v4 to fix kafka-go client compatibility
PARTIAL FIX: Force kafka-go to use Metadata v4 instead of v6

## Issue Identified:
- kafka-go was using Metadata v6 due to ApiVersions advertising v0-v6
- Our Metadata v6 implementation has format issues causing client failures
- Sarama works because it uses Metadata v4, not v6

## Changes:
- Limited Metadata API max version from 6 to 4 in ApiVersions response
- Added debug test to isolate Metadata parsing issues
- kafka-go now uses Metadata v4 (same as working Sarama)

## Status:
-  kafka-go now uses v4 instead of v6
-  Still has metadata loops (deeper issue with response format)
-  Produce operations work correctly
-  ReadPartitions API still fails

## Next Steps:
- Investigate why kafka-go keeps requesting metadata even with v4
- Compare exact byte format between working Sarama and failing kafka-go
- May need to fix specific fields in Metadata v4 response format

This is progress toward full kafka-go compatibility but more investigation needed.
2025-09-12 09:52:11 -07:00
chrislu 5cc05d8ba7 mq(kafka): debug Metadata v1 format compatibility with kafka-go ReadPartitions
- Added detailed hex dump comparison between v0 and v1 responses
- Identified v1 adds rack field (2 bytes) and is_internal field (1 byte) = 3 bytes total
- kafka-go still fails with 'multiple Read calls return no data or error'
- Our Metadata v1 format appears correct per protocol spec but incompatible with kafka-go
2025-09-10 20:47:51 -07:00