We have two different topics in cancelled vote thread. Let's initiate another threads to continue discussion.
- Jungtaek Lim (HeartSaVioR) 2018년 1월 27일 (토) 오후 11:56, Stig Rohde Døssing <stigdoess...@gmail.com>님이 작성: > I don't think storm-kafka-client needs its own project, but I like the idea > of decoupling storm-kafka-client from the release cadence of Storm. > Primarily because it would allow us to release more frequently, but also > because I think most of the time there's no tight coupling between the > Storm minor/patch version and storm-kafka-client. As far as I know > storm-kafka-client 1.2.0 runs fine on other Storm 1.x versions. If > storm-kafka-client released independently, we could probably get away with > maintaining only 1.x and 2.x compatible versions. I also see some value in > being able to do breaking changes independently of Storm's major version, > without breaking semantic versioning. People clearly expect us to not > introduce breaking changes in minor/patch releases (e.g. Alexandre when > storm-kafka-client 1.2.0 wouldn't run with his 1.1.1 topology a while > back), but we've had to do that a few times to avoid postponing fixes until > Storm 2.0.0. Releasing independently would also address Erik's concern that > we're releasing a "new" storm-kafka-client 1.1.2 that has known issues. > > If we want to decouple storm-kafka-client's release cycle from Storm, I > don't think we can keep it in the Storm repo. It would get confusing with > branches and release tags. We might try to decouple it in the same way > Maven have decoupled their plugins from the main Maven repo, where the code > for a given plugin is in a separate repository, but the plugin is still > part of the Maven project and uses the Maven mailing list for discussion > and release announcements. > > My main concern for moving storm-kafka-client to another repository would > be how we build against unreleased Storm versions, e.g. 2.0.0. I'm > wondering if anyone has ideas for this? It looks to me like both the Maven > plugins and Bahir are building against only released versions. > > @Hugo > I think at least a few of your points about storm-kafka-client's implied > beta status would have been easier to handle if storm-kafka-client were not > coupled to the Storm release version. It was weird to have a new > connector's initial release be version 1.0.0, and following Storm's release > cycle has prevented us from releasing fixes as often as a new connector > will likely need. I think we could have also saved ourselves a bit of work > by releasing 0.x versions first, since we then wouldn't have had to worry > about backward compatibility when doing major API changes like > https://issues.apache.org/jira/browse/STORM-2548. > > Regarding whether it is a concern when we make breaking changes in > storm-kafka-client if it is due to Kafka breaking something: Kafka was free > to include breaking changes, because they were still in the pre-1.0.0 > version range which tells the user to expect breaking changes from time to > time. When we release breaking changes in a 1.0.y version, it defeats the > purpose of semantic versioning, which is to tell the user upgrading whether > an upgrade can be done freely, or whether they should expect to have to > recompile and maybe reserve some time to upgrade. > > 2018-01-25 23:44 GMT+01:00 Jungtaek Lim <kabh...@gmail.com>: > > > Hugo, > > > > My idea is basically came from Apache bahir. (http://bahir.apache.org/) > It > > was for Apache Spark, but Flink decided to migrate their connectors to > > bahir so it is also for Apache Flink. > > I admit we may want to keep some connectors in core even we split out > > connectors, since moving to another repo. makes connectors hard to be in > > sync with core version, and even has a chance to being forgotten. Kafka > > connector is first class connector, so maybe storm-kafka-client would not > > take this way even we have similar, but we could incubate it and bring to > > core once it's stabilized (like storm-kafka-client in 1.2.0). > > > > I don't think storm-kafka-client has been technically beta. It might be > > considered as beta implicitly in 1.0.x, but we had 1.1.0 in 10 months > ago. > > storm-kafka-client is introduced over a year being included as Storm > 1.0.0 > > implicitly announcing we are no longer beta. Explicitly marking as beta > is > > very important in practice and that's why InterfaceStability annotation > > came in and widely used for big project. (We have started to apply it for > > streams API in 2.0.0: they're marked as @Unstable.) > > > > Thanks, > > Jungtaek Lim (HeartSaVioR) > > > > 2018년 1월 26일 (금) 오전 4:16, Hugo Da Cruz Louro <hlo...@hortonworks.com>님이 > > 작성: > > > > > I am in favor of not incubating storm-kafka-client but rather keep it > as > > > part of the storm project. We can consider supporting a separate > branch, > > > but before we agree to go that route I would like to hear lessons > learned > > > from community members that have been part of similar transitions in > > other > > > projects. > > > > > > As for not back-porting all the storm-kafka-client changes onto 1.0.x > and > > > 1.1.x branches, I expressed my opinion in the JIRA when the this > > discussion > > > first came up. Basically, I don’t think it is feasible to back-port > > > everything. Furthermore, 1.2.0 will be a minor version for which it is > > > reasonable to expect users of earlier versions to upgrade to without > > major > > > hassle. In any software it is expected that there will be divergence > > across > > > minor versions. New versions become available because they have > > > improvements and and sometimes new, small, features in it. If the user > > > wants to benefit from those improvements, she/he will have to upgrade > to > > > the most recent version. Compatibility should be accounted for across > > > versions, but as Stig mentioned, for the most part we believe it has > > been. > > > > > > Although it is possible to copy the 1.x storm-kafka-client changes to > > > 1.1.x and 1.0.x, that same argument could be made for every other > > connector > > > or storm component, and I am not sure it’s a good principle. I just > think > > > that it’s natural and beneficial to the community and the product that > > > users keep upgrading (especially across backwards compatible versions), > > > rather that keeping on patching things up. > > > > > > A few more opinions on storm-kafka-client > > > - Can we identify the pros and cons of keeping Kafka 0.9 dependencies, > > and > > > unless there are very strong reasons not to do so, simply upgrade to a > > more > > > recent version. > > > - Although storm-kafka-client was not labeled as beta, technically it > was > > > beta, and in practice it was used by users as beta. As far as I know, > > users > > > that used it from the beginning were still exploring it, and I don’t > > think > > > that until a lot of the improvements came in it made it to production. > So > > > Beta is a nice label to have behind a component that can cover for some > > > necessary non backwards compatible changes. However, I don’t think it > > would > > > have made a world of difference in practice for storm-kafka-client. > > > - The Kaka community has at times made non backward compatible changes. > > If > > > Kafka itself makes such changes, is it that concerning if > > > storm-kafka-client has to make or or two such non backward compatible > > > changes? > > > > > > Thanks, > > > Hugo > > > > > > On Jan 25, 2018, at 9:47 AM, P. Taylor Goetz <ptgo...@gmail.com > <mailto: > > > ptgo...@gmail.com>> wrote: > > > > > > > > > > > > On Jan 25, 2018, at 12:32 PM, Bobby Evans <ev...@oath.com.INVALID< > > mailto: > > > ev...@oath.com.INVALID>> wrote: > > > > > > To make this happen though someone is going to need to step up and take > > > lead on this. > > > > > > We will need a plan on what to do (is it becoming a separate repo with > a > > > separate release cycle but still a part of the storm project?) > > > Do we plan to spin it off to be an incubator project on its own? > > > > > > I don’t think it’s necessary to spin it off as a separate incubator > > > project, that seems like overkill and would be weird from a community > > > perspective. > > > > > > The path of least resistance might be a separate git repo, or just > > keeping > > > it in the current Storm repo and decoupling it from the main > > build/release > > > process so it can be independently released. > > > > > > -Taylor > > > > > > > > > > > >