doujiang24 / lua-resty-kafka

Lua kafka client driver for the Openresty based on the cosocket API
BSD 3-Clause "New" or "Revised" License
803 stars 277 forks source link

Compatibility issues that arise when sending messages to different versions of Kafka. #169

Open yuqiquan opened 1 month ago

yuqiquan commented 1 month ago

Using version 0.23 of lua-resty-kafka to communicate with a version 1.0 Kafka broker results in an UNSUPPORTED_VERSION error.

Through my research, I found that the version used for communication with the broker in the client.lua code is actually hardcoded.

image

image

image

The key point is that api_versions_encode uses a fixed v2. What confuses me is why v2 is used here when everywhere else uses v1. I can send messages to Kafka normally if I change this v2 to v1. Can you tell me the reason for using v2?

I personally think this might be a bug.