On Mon, Sep 9, 2019 at 4:00 PM Colin McCabe <cmcc...@apache.org> wrote:
> > One solution to consider is adding the clientVersion and clientType to the > request header as optional (tagged) fields. This would let us skip the > extra round trip. I don't think it's that much more messy than having a > separate request type to set the client version and type. In both cases, > you have to handle connections that set the version later than others, or > don't set the version at all (for compatibility). So the version/type has > to be mutable and added after the TCP connection itself is established. Hey David, Did we consider Colin's suggestion of adding this information to every request using tagged field? If so can we add a section to the KIP documenting the decision? The HTTP protocol solves a similar problem by using a special header called User-Agent. In that field clients encode much more information than just client version and type. For example Mozilla uses this to include platform version and engine version. E.g. User-Agent: Mozilla/<version> (<system-information>) <platform> (<platform-details>) <extensions> https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent Thanks! -Jose