I spent some time finding that my Go application connecting to a Kafka 0.11 cluster was using the old 0.8.2 version of the library, which is missing the Timestamp value in the response.
I then found that Kafka 0.11.x API/version wasn't supported (but they are working on it).
I have two solutions for now.
First is to set the required version explicitly in my apps. Second is to "tune" the Sarama code to use version 0.10.x as minimum version, enabling me to use all the 0.10.x API/functionality.
I was still wondering why the version is not taken from the Kafka broker I'm connecting to?
I can't understand how it's supposed to work from the code... I clearly see the version that is set or defined in the sarama.Config.Version, but I can't find anything to update this value once connected to a broker?
I know that Python is doing it this way:
from kafka import BrokerConnection
broker=BrokerConnection("localhost",9092,0)
broker.connect()
broker.check_version()
(0, 11, 0)
What am I missing?