Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Operators of Apache Kafka clusters have literally no information about the clients connected to their clusters. Having basic information about the connected clients such as its their name and its their version could tremendously help them to 1) troubleshoot misbehaving clients; or 2) understand the impact of a broker upgrade to their clients and reach them out to inform them proactively.

...

While the Request Log is not a public interface per say, it is worth mentioning that we will enrich it with the Client Name and the Client Version.

...

Compatibility, Deprecation, and Migration Plan

What impact (if any) will there be on existing users?

...

Existing users extracting and parsing the Request Log may have to update their parsing logic to accommodate the new fields.

Rejected Alternatives

Put clientName and clientVersion in the RequestHeader

...

Instead of piggy backing on the ApiVersionsRequest, we could implement a new Request/Response only for this purpose. This request would need to be sent as early as possible when the connection is established in order to have the information in the broker. Concretely, it means that it would be sent right after the ApiVersionsRequest/Response round trip and before any other request is sent. It would add another round trip to the broker before the client can proceed with its regular stuff. It also would require to be done before the authentication happens (TLS AuthN aside) and thus requiring specific treatment in the authentication , similarly to the ApiVersionsRequest.

...