You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by GitBox <gi...@apache.org> on 2021/06/14 18:03:35 UTC

[GitHub] [kafka] cmccabe commented on pull request #10804: KAFKA-12877: Make flexibleVersions mandatory

cmccabe commented on pull request #10804:
URL: https://github.com/apache/kafka/pull/10804#issuecomment-860882713


   OK, I reconsidered this a bit. I think we DON'T want to make incompatible changes if we can avoid it... such as changing the default from NONE to ALL.
   
   There are a few reasons for this. One is that we eventually want to have a verifier tool that checks that changes between message files shipped with version X and those shipped with version X+1 are compatible. This is a lot easier if we refrain from gratuitous compatibility breaks.
   
   Another is that there are external projects that are looking at these JSON files now. There's no formal contract or anything, but it's just nicer for the ecosystem not to break things.
   
   Finally, downstream forks of Kafka may have a difficult time if we change defaults around like this. For example, if someone had an in-house fork of Kafka with some new messages, changing around defaults could cause a compatibility break for them. It's better not to have to worry about this.
   
   For all these reasons, I think it's best just to require explicitly spelling out `flexibleVersions` for now. It's a little extra boilerplate but not that bad in the grand scheme of things. Maybe eventually we can have more versioning in the JSON file that lets us elide some of this, but for now I think this is the best way to go. cc @hachikuji 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org