On Thu, Mar 17, 2016 at 2:07 PM, Jason Gustafson <ja...@confluent.io> wrote:
> It would also be nice to discuss the way the current client > versioning works and why it is inadequate for third-party clients. > My understanding of the java client versioning is that it is not backwards-compatible. Instructions are to use a java client that is <= your broker version. The main inadequacy of this model is that some clients want to deliver backwards-compatible client software. I assume that doesn't need an explanation, but these are my reasons anyways: it makes users happier, reduces maintenance burden, and avoids unnecessary client fragmentation. The other inadequacy, assuming you did want to follow the same practice as the java client, is that third-party clients are not versioned in lockstep with the broker, so we cannot use a similar policy of "use a client version that is <= your broker version". Instead, third-party clients must manage and communicate the relationships between client versions and broker versions independently. That is difficult and leads to lots of user confusion. -Dana