Hello Stig, +1 for your proposal (non-binding).
No problem to drop Java 7 support from my perspective (next Java Long Term Support is Java 11, Java 8 end of support is in Jan 2019, so who cares about Java 7?) And kudos for your proposed item: "Update the storm-kafka-client docs with a compatibility matrix showing which versions of Storm the connector is compatible with" - I'm still blocked with Kafka libs 0.10.2.0 for consuming our Kafka 1.0.1 Brokers using Storm Kafka Client 1.2.0, I had very unstable behavior when trying to use Kafka 1.0.0 libs for consuming our brokers (which were at Kafka 1.0.0 version). I hope to find time to resume tests and to provide feedbacks to clarify this. Best regards, Alexandre Vermeerbergen 2018-04-28 15:06 GMT+02:00 Stig Rohde Døssing <stigdoess...@gmail.com>: > Sorry about the necro, but I think this is still relevant. > > Would everyone be okay with trying out the following for storm-kafka-client > (to start)? > * Detach storm-kafka-client's release process from Storm's release process, > so we can release it separately, but keep the code in the Storm repo. We > can probably do this by making some changes to the poms, e.g. by skipping > release for storm-kafka-client unless a specific profile is set. > * Make the code on the master branch the new storm-kafka-client baseline. > This would drop support for Java 7. I doubt this will be an issue since > Java 7 has been out of date for a while now, but if we're not sure about > this we could open a poll on the mailing list to see if there's a need to > stay on Java 7. > * Update the storm-kafka-client docs with a compatibility matrix showing > which versions of Storm the connector is compatible with. > * Bump the storm-kafka-client version to e.g. 2.0.0(?) for the first > release using this method. > > I'm not sure if we should create a branch just for storm-kafka-client, or > if we can get away with just having development for it happen on master. > > As Taylor mentioned this should allow us to get some experience with > releasing an external component separately, without making it too hard to > roll back if we decide that releasing separately doesn't work well. > > If no one objects, I'll open an issue to make these changes. > > > 2018-02-09 16:51 GMT+01:00 Xin Wang <data.xinw...@gmail.com>: > >> I agree with Jungtaek. The same case has happened again on RocketMQ.( >> https://github.com/apache/storm/pull/2518) >> The following is my advice. >> >> 1. Now storm has too many connectors, we can separate the first class >> connectors from others. >> The following is a possible list including all existing connectors. >> >> First class: >> >> - Kafka, >> - HDFS, >> - HBase, >> - Hive, >> - Redis, >> - JDBC, >> - JMS >> >> >> >> Others: >> >> - Solr, >> - Cassandra, >> - Elasticsearch, >> - Event Hubs >> - RocketMQ >> - MongoDB >> - OpenTSDB >> - Kinesis >> - Druid >> - MQTT, >> - PMML >> >> >> 2. For first class connectors we can leave the code as it is, but release >> them independently; >> for other connectors, I prefer to move them to Bahir like the way of >> Spark/Flink. >> We can have a communication with the Bahir community, and request to create >> a https://github.com/apache/bahir-storm.git repo. >> >> >> >> 2018-02-01 9:10 GMT+08:00 P. Taylor Goetz <ptgo...@gmail.com>: >> >> > I’d start with Storm-Kafka-client as an experiment, and if that goes >> well, >> > move all connectors to the same model. >> > >> > Some connectors are bound to a stable protocol (e.g. JMS, MQTT), some are >> > bound to frequently changing APIs (e.g. Apache Kafka, cassandra, ES, >> etc.). >> > The former tend to be stable in terms of usage patterns and use cases, >> the >> > latter case case not so much. For example, consider hdfs integration. >> It’s >> > changed a lot in response to different usage patterns. Kafka due to >> > new/changing APIs. JMS hasn’t changed much at all since it’s tied to a >> > stable API. >> > >> > There’s also the fact that a high percentage of connectors integrate with >> > the most stable Storm APIs (spout, bolt, trident). The volatile (using >> the >> > term loosely) parts of our API affect projects like Mesos and >> streamparse, >> > but not the connectors we sponsor. >> > >> > -Taylor >> > >> > > On Jan 31, 2018, at 7:07 PM, Roshan Naik <ros...@hortonworks.com> >> wrote: >> > > >> > > I was thinking if the any connector is released more frequently, their >> > quality would be more mature and typically have lower impact on a Storm >> > release (compared to now) … if we decide to bundle them in Storm as well. >> > > -roshan >> > > >> > > >> > > On 1/31/18, 4:02 PM, "P. Taylor Goetz" <ptgo...@gmail.com> wrote: >> > > >> > > I think we all agree that releasing connectors as part of a Storm >> > release hinders the frequency of the release cycle for both Storm proper, >> > as well as connectors. >> > > >> > > If that’s the case, then the question is how to proceed. >> > > >> > > -Taylor >> > > >> > >> On Jan 31, 2018, at 6:46 PM, Roshan Naik <ros...@hortonworks.com> >> > wrote: >> > >> >> > >> One thought is to … >> > >> - do a frequent separate release >> > >> - *and also* include the latest stuff along with each Storm release. >> > >> >> > >> -roshan >> > >> >> > >> >> > >> On 1/31/18, 10:43 AM, "generalbas....@gmail.com on behalf of Stig >> > Rohde Døssing" <generalbas....@gmail.com on behalf of >> > stigdoess...@gmail.com> wrote: >> > >> >> > >> Hugo, >> > >> It's not my impression that anyone is complaining that >> > storm-kafka-client >> > >> has been exceptionally buggy, or that we haven't been fixing the >> > issues as >> > >> they crop up. The problem is that we're sitting on the fixes for way >> > longer >> > >> than is reasonable, and even if we release Storm more often, users >> > have to >> > >> go out of their way to know that they should really be using the >> > latest >> > >> storm-kafka-client rather than the one that ships with their Storm >> > >> installation, because the version number of storm-kafka-client >> > happens to >> > >> not mean anything regarding compatibility with Storm. >> > >> >> > >> Everyone, >> > >> >> > >> Most of what I've written here has already been said, but I've >> already >> > >> written it so... >> > >> >> > >> I really don't see the point in going through the effort of >> separating >> > >> connectors out to another repository if we're just going to make the >> > other >> > >> repository the second class citizen connector graveyard. >> > >> >> > >> The point to separating storm-kafka-client out is so it can get a >> > release >> > >> cycle different from Storm, so we can avoid the situation we're in >> > now in >> > >> the future. There's obviously a flaw in our process when we have to >> > choose >> > >> between breaking semantic versioning and releasing broken software. >> > >> >> > >> I agree that it would be good to release Storm a little more often, >> > but I >> > >> don't think that fully addresses my concerns. Are we willing to >> > increment >> > >> Storm's major version number if a connector needs to break its API >> > (e.g. as >> > >> I want to do in https://github.com/apache/storm/pull/2300)? >> > >> >> > >> I think a key observation is that Storm's core API is extremely >> > stable. >> > >> Storm and the connectors aren't usually tightly coupled in the sense >> > that >> > >> e.g. version 1.0.2 of storm-kafka-client would only work with Storm >> > 1.0.2 >> > >> and not 1.0.0, so in many cases there's no reason you wouldn't use >> the >> > >> latest connector version instead of the one that happens to ship >> with >> > the >> > >> version of Storm you're using. I think it would be attractive if we >> > could >> > >> reduce the number of branches of connectors we need to maintain, and >> > >> instead keep a compatibility matrix between Storm and the connector >> > in each >> > >> README, for the rare occasions when the Storm core API changes. >> > >> >> > >> +1 for trying out storm-kafka-client with its own release cycle and >> > >> branches/subrepo/whichever way we want to separate the code, but >> > still part >> > >> of the main Storm project JIRA and mailing list. Worst case we merge >> > it >> > >> back in after a while. We may want to think about how to do that >> > before we >> > >> separate out, just so we don't release e.g. storm-kafka-client 2.3.1 >> > and >> > >> then have to merge back to Storm which is still on 2.0.0. >> > >> >> > >> 2018-01-31 3:36 GMT+01:00 Jungtaek Lim <kabh...@gmail.com>: >> > >> >> > >>> Agreed for this topic: this is not related to current release >> > candidate and >> > >>> verifying release candidate is higher priority. >> > >>> For me I didn't start verifying 1.1.2 / 1.0.6 RC2 because the other >> > topic I >> > >>> initiated could affect the current release. I'll post a short notice >> in >> > >>> that discussion thread. >> > >>> >> > >>> -Jungtaek Lim (HeartSaVioR) >> > >>> >> > >>> 2018년 1월 31일 (수) 오전 10:58, P. Taylor Goetz <ptgo...@gmail.com>님이 작성: >> > >>> >> > >>>> Hit send on that too soon... >> > >>>> >> > >>>> This is an important discussion topic, but has no effect on the >> > current >> > >>>> RCs. Id recommend focusing on the current releases and come back to >> > this >> > >>>> after getting releases out. >> > >>>> >> > >>>> -Taylor >> > >>>> >> > >>>>> On Jan 30, 2018, at 8:51 PM, P. Taylor Goetz <ptgo...@gmail.com> >> > >>> wrote: >> > >>>>> >> > >>>>> Also, in the interest of getting releases out, we have 3 open RC >> > cycles >> > >>>> in flight. >> > >>>>> >> > >>>>> Discussion energy might be better focused on that. >> > >>>>> >> > >>>>> -Taylor >> > >>>>> >> > >>>>>> On Jan 30, 2018, at 7:52 PM, P. Taylor Goetz <ptgo...@gmail.com> >> > >>> wrote: >> > >>>>>> >> > >>>>>> >> > >>>>>> >> > >>>>>>> On Jan 30, 2018, at 7:31 PM, Harsha <st...@harsha.io> wrote: >> > >>>>>>> >> > >>>>>>> Hi, >> > >>>>>>> In general connectors are independent of Storm run-time >> for >> > >>>> most parts. I.e if the APIs are not changed (storm-core or trident >> > >>> haven't >> > >>>> changed in years except the package re-name). You can take the >> latest >> > >>>> connector and run in storm 1.0 or higher. So the users doesn't need >> to >> > >>>> upgrade their storm cluster just to get a latest connector upgrade. >> > Which >> > >>>> they might be doing it but by making the release separate and >> stating >> > the >> > >>>> minimum supported storm version for the connectors will help the >> > users. >> > >>>>>>> This makes it easier for the connectors to be released >> > independently >> > >>>> of the core/run-time and makes it easy for them to be fixed and >> > released >> > >>>> more often. But moving them to Bahir or other external project will >> > make >> > >>> it >> > >>>> detached from Storm itself that it might not see any co-ordination >> as >> > >>>> reviewers from storm will need to be aware of an external project. >> > >>>>>>> My proposal would be >> > >>>>>>> 1. Can we create a sub-project in git under Storm so we can move >> > the >> > >>>> connectors there and everything else related Storm applies there. >> > >>>>>>> 2. Can we keep maintaining storm connectors within same repo but >> > >>>> different release module for it . >> > >>>>>> >> > >>>>>> +1 That’s exactly my point. Just jettisoning connectors to Bahir >> > >>>> without commitments from the Storm community would be a mistake. >> > >>>>>> >> > >>>>>> Releasing connectors independently can be handled easily at the >> > Maven >> > >>>> level. No need for a separate repo initiaially. >> > >>>>>> >> > >>>>>> >> > >>>>>>> >> > >>>>>>> This is a separate topic but can improve the release timelines if >> > we >> > >>>> have multiple release managers that are handling the maint release >> and >> > >>> also >> > >>>> main release versions. Its good to have rotation of release managers >> > from >> > >>>> PMC so that everyone will understand the process and can spread the >> > >>>> responsibilities. There are threads started before but don't think >> > they >> > >>> are >> > >>>> addressed or any action item is taken. We should start another >> thread >> > to >> > >>>> discuss this process as well. >> > >>>>>> >> > >>>>>> Breaking up external modules into separately released versions >> would >> > >>> be >> > >>>> a great way to indoctrinate those new to the license grooming and >> > release >> > >>>> process. Everyone could participate. >> > >>>>>> >> > >>>>>> >> > >>>>>>> >> > >>>>>>> Thanks, >> > >>>>>>> Harsha >> > >>>>>> >> > >>>>>> -Taylor >> > >>>>>> >> > >>>>>>> >> > >>>>>>>> On Tue, Jan 30, 2018, at 9:49 AM, Hugo Da Cruz Louro wrote: >> > >>>>>>>> I think that the bahir approach makes sense for connectors that >> > >>> don’t >> > >>>>>>>> fall into the "first class support” category. I am in favor of >> > >>> moving >> > >>>>>>>> such lower adoption connectors and have the interested >> communities >> > >>>>>>>> support them with the most suitable release cycle. Connectors >> that >> > >>> are >> > >>>>>>>> idle, such as some examples that Jungtaek gave, we should >> consider >> > >>>>>>>> removing them altogether, especially if they are so outdated >> that >> > >>> they >> > >>>>>>>> may not even work. >> > >>>>>>>> >> > >>>>>>>> Mainstream connectors such as storm-kafka-client should be kept >> in >> > >>> the >> > >>>>>>>> Storm repo. For example, Flink keeps flink-connector-kafka-0.x >> in >> > >>> the >> > >>>>>>>> Flink repo. >> > >>>>>>>> >> > >>>>>>>> I am in agreement with Jungtaek when he says: "fixing critical >> > bugs >> > >>> in >> > >>>>>>>> storm-kafka-client should trigger release, instead of waiting >> for >> > >>>> Storm >> > >>>>>>>> core to have some fixes to be worth to release”. Storm’s release >> > >>>> cadence >> > >>>>>>>> is currently not very high and one can argue that Storm entirely >> > >>> could >> > >>>>>>>> benefit from more frequent releases. If it is sto >> rm-kafka-client >> > >>>>>>>> triggering those releases, so be it. Moving forward I do not >> > expect >> > >>>> the >> > >>>>>>>> storm-kafka-client connector to be subject to so many changes >> that >> > >>> it >> > >>>>>>>> would warrant its own release cycle. >> > >>>>>>>> >> > >>>>>>>> I also would like to highlight that although storm-kafka-client >> > has >> > >>>> been >> > >>>>>>>> the center of this discussion, as it was mentioned in this >> > >>>>>>>> thread<https://goo.gl/VY7QTG>, storm-kafka-client has had a >> much >> > >>> less >> > >>>>>>>> rocky road to stability compared to for example storm-kafka. >> > >>> Therefore >> > >>>>>>>> it’s worth evaluating if the challenges that we have faced with >> > >>> storm- >> > >>>>>>>> kafka-client have been out of norm for such an important and >> > complex >> > >>>>>>>> feature, and if they warrant significant changes in how we do >> > >>> things. >> > >>>>>>>> >> > >>>>>>>> Thanks, >> > >>>>>>>> Hugo >> > >>>>>>>> >> > >>>>>>>> On Jan 29, 2018, at 9:18 PM, Jungtaek Lim >> > >>>>>>>> <kabh...@gmail.com<mailto:kabh...@gmail.com>> wrote: >> > >>>>>>>> >> > >>>>>>>> Let me add a proof of my opinion: major patch of storm-eventhubs >> > >>>> hasn't >> > >>>>>>>> been getting even a comment over 4 months. >> > >>>>>>>> https://github.com/apache/storm/pull/2322 >> > >>>>>>>> >> > >>>>>>>> I'd rather want to discuss regarding discontinue supporting >> > >>>> officially if >> > >>>>>>>> we no longer interest of, or we don't have resource to support, >> or >> > >>> any >> > >>>>>>>> valid reasons. If we agree on discontinue supporting officially, >> > we >> > >>>> can >> > >>>>>>>> move out to other repo. and let it self maintained. It may be >> able >> > >>> to >> > >>>> get >> > >>>>>>>> attention and have enough contributors so that we feel better to >> > get >> > >>>> to >> > >>>>>>>> Storm core Repository again, or it can be silently forgotten. It >> > >>>> shouldn't >> > >>>>>>>> affect Storm core repository at any case. >> > >>>>>>>> >> > >>>>>>>> 2018년 1월 30일 (화) 오후 2:03, Jungtaek Lim <kabh...@gmail.com>님이 >> 작성: >> > >>>>>>>> >> > >>>>>>>> If we worry about breaking somethings along with our >> > >>>>>>>> users/consumers/distributors, picking one of less used/updated >> > >>>> connector as >> > >>>>>>>> experiment makes more sense to me. It's OK if we want to pick >> one >> > of >> > >>>> most >> > >>>>>>>> active and widely used connector intentionally to accelerate >> > >>>> experiment. >> > >>>>>>>> >> > >>>>>>>> Decoupling connectors and moving to other repo. like Bahir will >> > make >> > >>>> it >> > >>>>>>>> clear who are having interest of which connectors. >> storm-eventhubs >> > >>> for >> > >>>>>>>> example, major code contributions were done from MS developers. >> > Now >> > >>>> they >> > >>>>>>>> are gone, and I don't know even storm-eventhubs are compatible >> > with >> > >>>> recent >> > >>>>>>>> Azure Eventhub. That's just a one of them. I've seen many >> > connectors >> > >>>> in >> > >>>>>>>> same, or similar, or possible (say truck number 1) situation. >> > >>>>>>>> >> > >>>>>>>> -Jungtaek Lim (HeartSaVioR) >> > >>>>>>>> >> > >>>>>>>> 2018년 1월 30일 (화) 오후 1:30, P. Taylor Goetz <ptgo...@gmail.com>님이 >> > 작성: >> > >>>>>>>> >> > >>>>>>>> >> > >>>>>>>> On Jan 29, 2018, at 8:03 PM, Jungtaek Lim <kabh...@gmail.com> >> > >>> wrote: >> > >>>>>>>> >> > >>>>>>>> >> > >>>>>>>> >> > >>>>>>>> - Do we ensure they're all maintained? >> > >>>>>>>> -- Did we exclude inactive committers/PMCs for connector's >> > committer >> > >>>>>>>> >> > >>>>>>>> sponsors, and do they have enough committer sponsors after that? >> > >>>>>>>> >> > >>>>>>>> >> > >>>>>>>> Good point. We’ve had some sponsors go silent recently. Maybe >> ping >> > >>>>>>>> sponsors and ask if they wish to maintain sponsorship? >> > >>>>>>>> >> > >>>>>>>> As a sponsor for a number of connectors, I’ll check on the ones >> > I’ve >> > >>>>>>>> sponsored. >> > >>>>>>>> >> > >>>>>>>> - Do they all worth to keep maintaining in Storm main >> repository? >> > >>>>>>>> >> > >>>>>>>> >> > >>>>>>>> Again, that’s a question of whether there is user/dev interest. >> > >>>>>>>> >> > >>>>>>>> >> > >>>>>>>> -- Should we trigger release if we find and resolve >> > critical/blocker >> > >>>> issue >> > >>>>>>>> from them? If not, why we allow to leave the thing which is in >> > main >> > >>>>>>>> repository as inconsistent state? >> > >>>>>>>> >> > >>>>>>>> >> > >>>>>>>> Some are tied to fairly well established protocols, some target >> > >>> really >> > >>>>>>>> volatile APIs. Bug reports and mailing list activity may not be >> a >> > >>> good >> > >>>>>>>> status indicator. >> > >>>>>>>> >> > >>>>>>>> Storm’s Kafka integration was the initial model for the >> “batteries >> > >>>>>>>> included” impetus behind `external`. If we want to evolve how >> that >> > >>>> works, >> > >>>>>>>> why not start there, see what works/doesn’t work, and adapt. >> > >>>>>>>> >> > >>>>>>>> I don’t want to shock our users/consumers/distributors. >> > >>>>>>>> >> > >>>>>>>> >> > >>>>>>>> -Taylor >> > >>>>>>>> >> > >>>>>>>> >> > >>>>>>>> >> > >>>>>>>> >> > >>>>>>>> >> > >>>>>>>> >> > >>>>>>>> >> > >>>> >> > >>> >> > >> >> > >> >> > > >> > > >> > > >> > >> >> >> >> -- >> Thanks, >> Xin >>