Il giorno mer 12 ott 2022 alle ore 00:40 Matteo Merli
<matteo.me...@gmail.com> ha scritto:
>
> Agree, though let's make separate discussions. Putting all random
> ideas into the same cauldron is a good recipe for making no one able
> to follow or see a common line.
>
> That's what I meant when I started the proposal of having 3.0
> completely detached from "features".
>
> If you start making a big container, you're going to fill it up with
> all the "breaking changes" that you want to include, because "hey,
> that's the only window of opportunity". That in turn is the surest way
> to not ship anything for the next 24 months, as all the changes are
> unavoidably going to get delayed and will take a long time to
> stabilize.
>
> Going back to API breakages:
>  1. We never break wire protocol compatibility
>  2. We try to never break client API
>  3. We need a very good & compelling reason in order to break client API
>  4. When we do so, we need to provide a clear path for users (eg:
> pulsar-client-1.x compatibly drop-in).


I totally agree with Matteo and Joe,
We cannot break compatibility.

and if we need to introduce some new form of inter-broker communication protocol
we must support the current protocol and provide a smooth upgrade path.

Now there are many Pulsar clusters around the world that cannot
tolerate stop-the-world upgrades
and we MUST also allow some sort of rollback in case of problems.



Enrico

>
>
>
>
>
>
> --
> Matteo Merli
> <matteo.me...@gmail.com>
>
> On Tue, Oct 11, 2022 at 11:58 AM Dave Fisher <w...@apache.org> wrote:
> >
> > Let’s discuss any and all ideas for improvement. As each is discussed we 
> > can figure out how to make them non-breaking, We all want Pulsar to improve.
> >
> > We should encourage an open discussion where no idea is automatically bad 
> > or wrong. They can just be discussed without fear.
> >
> > Thanks,
> > Dave
> >
> > > On Oct 10, 2022, at 3:05 PM, Joe F <joefranc...@gmail.com> wrote:
> > >
> > > I would prefer that we avoid using the term “breaking changes”, which is
> > > too vague to convey any specific meaning. So let me try to bring some
> > > clarity.
> > >
> > >
> > > There have been many changes to implementations, APIs and data storage
> > > formats in Pulsar (and book keeper also). I have deployed many of these
> > > changes to production. And I know  that Matteo and Rajan  (and others too,
> > > about  whom I’m not up to date  on) have implemented and deployed many 
> > > such
> > > changes.  But  none of those changes ever required taking the system
> > > offline. NONE.
> > >
> > >
> > > Pulsar was developed as a 24x7x365 system, and rolling upgrades and
> > > rollbacks were a given. Like “this is water”,  there was no special 
> > > callout
> > > needed for declaring this reality. No change, including enhancements to
> > > wire protocols, broke client compatibility.  Existing clients continued to
> > > work; they may not be able to use all the new features. Use of new 
> > > features
> > > would require the app to be rebuilt anyway.  (Checksums, e2e encryption 
> > > are
> > > examples)
> > >
> > >
> > > We have even succeeded in getting Pulsar adopted for some use cases,  just
> > > because the complexity of upgrading from K’s old clients to new ones were
> > > costly enough to allow consideration of an alternative like Pulsar.  The
> > > business cost of forcing a client upgrade can be significant,  to the 
> > > point
> > > of this being unviable for business.   That just cannot be hand-waved over
> > >
> > >
> > > There have also been changes in storage formats(the ZK metadata change 
> > > from
> > > text to binary is an example). But through all such changes, compatibility
> > > and upgradeability has been a given. There has never been a situation 
> > > where
> > > a live Pulsar upgrade was not possible, and   a coordinated  client 
> > > upgrade
> > > was mandatory.
> > >
> > >
> > > So the question should not  be about whether “signifcant”  changes  should
> > > be made or not.  Changes can be made and released in a way that breaks
> > > *business*, or  they can be made in a way that lets businesses sail
> > > smoothly through that change. So the question is about  how such changes
> > > gets rolled out.
> > >
> > >
> > > And to that question, my strong opinion is that any change that does not
> > > allow a live/rolling upgrade or rollback, or anything that forces a client
> > > to upgrade just to continue functioning,   is a non-starter.   All changes
> > > can be made in a compatible, phased manner, and in a way that does not
> > > penalise older versions ( older versions doing worse  on new releases is
> > > also not an acceptable way of making changes)  Changes can be made in a
> > > manner that make l A/B testing possible by the user, with limited risk, 
> > > and
> > > then choosing to a not go back. It has all been done in Pulsar before.
> > >
> > >
> > > Would that be harder than just breaking stuff? Yes.  But that is  far more
> > > preferable than forcing users to take a hit.
> > >
> > >
> > > -joe
> > >
> > > On Sat, Oct 8, 2022 at 1:25 PM Rajan Dhabalia <rdhaba...@apache.org> 
> > > wrote:
> > >
> > >> I would say first we should gather a list of changes which we want to
> > >> target and find out which improvements really need major version release.
> > >> We can take the Pulsar-1.0 to Pulsar-2.0 upgrade example to avoid major
> > >> interruption and impact on existing systems and still achieve our goal. 
> > >> So,
> > >> the first step is discovery of such features and then we can discuss how 
> > >> to
> > >> introduce them in Pulsar with minimum impact on existing systems.
> > >>
> > >> Thanks,
> > >> Rajan
> > >>
> > >> On Sat, Oct 8, 2022 at 1:05 PM Devin Bost <devin.b...@gmail.com> wrote:
> > >>
> > >>> I'm noticing some pushback on the idea of pre-emptively proposing any
> > >> kind
> > >>> of breaking upgrade that would necessitate cutting a 3.0 release.
> > >>> I do understand the concern about introducing a breaking change... For a
> > >>> distributed messaging application like Pulsar, if clients needed to be
> > >>> simultaneously upgraded with brokers, that could be extremely difficult
> > >> or
> > >>> infeasible for companies to coordinate without treating it like a
> > >> migration
> > >>> to a new technology.
> > >>>
> > >>> At the same time, do we want to be completely closed to the possibility
> > >>> that a breaking change could be required at some point in the future? If
> > >> a
> > >>> circumstance like that appears, those are the kinds of situations that
> > >> can
> > >>> lead to a fork. Are there certain kinds of breaking changes that are 
> > >>> more
> > >>> acceptable than others?
> > >>>
> > >>> Also, if the forward looking plan is to never introduce breaking 
> > >>> changes,
> > >>> when *would* we ever cut a Pulsar 3.x release?  Do we have any criteria
> > >> on
> > >>> what kinds of changes would necessitate cutting a new major release but
> > >>> would still be considered acceptable by the community?
> > >>>
> > >>> --
> > >>> Devin Bost
> > >>> Sent from mobile
> > >>> Cell: 801-400-4602
> > >>>
> > >>> On Sat, Oct 8, 2022, 2:14 PM Rajan Dhabalia <rdhaba...@apache.org>
> > >> wrote:
> > >>>
> > >>>> This sounds like the current state of Apache Pulsar has a lot of issues
> > >>> and
> > >>>> it requires fundamental design changes to make it promising which is
> > >>>> definitely not true and I disagree with it. And I would be careful
> > >>>> comparing with Kafka as I still don't think the Kafka release has
> > >>> anything
> > >>>> to do with Pulsar's improvement. I would still recommend to list down
> > >> all
> > >>>> the changes at one place so we can bring everyone on the same page.
> > >>> discuss
> > >>>> as a community and we make sure existing usecases continue using Pulsar
> > >>> and
> > >>>> not try to find Pulsar alternatives with incorrect disruption
> > >> impression
> > >>>> and efforts they might have to put to upgrade or maintain pulsar.
> > >>>>
> > >>>> Thanks,
> > >>>> Rajan
> > >>>>
> > >>>> On Fri, Oct 7, 2022 at 7:49 PM Lari Hotari <lhot...@apache.org> wrote:
> > >>>>
> > >>>>> We could all have our own favorite names for this work. :)
> > >>>>>
> > >>>>> There's advice that you should disrupt yourself before someone
> > >> disrupts
> > >>>>> you.
> > >>>>> Shouldn't we follow that advice for Apache Pulsar? We can disrupt
> > >>> Pulsar
> > >>>>> together with our Apache hats on. The catch is that since we are
> > >> doing
> > >>>>> this, we will be able to learn and improve Pulsar so that we stay
> > >> ahead
> > >>>> of
> > >>>>> competition. Pulsar was long ways ahead of competition for so many
> > >>> years,
> > >>>>> but Kafka is finally catching up. Did Kafka surpass Pulsar in some
> > >>>> aspects
> > >>>>> with the recent 3.3 release, where Kraft became GA? That's a question
> > >>>> that
> > >>>>> many might be asking. Why wouldn't we rev up Pulsar's engine and show
> > >>> the
> > >>>>> tail lights to Kafka?
> > >>>>>
> > >>>>> We don't have to have deadlines or any restrictions like that right
> > >>> now.
> > >>>>> The sky's the limit.
> > >>>>> Linus Torvalds has written a book called "Just for fun". I got my
> > >> copy
> > >>> of
> > >>>>> this book signed by Linus himself in year 2000 at an event that the
> > >>> book
> > >>>>> publisher had organized in Finland.
> > >>>>>
> > >>>>> What if we did this "just for fun"? The intention could also be to
> > >> beat
> > >>>>> Kafka, but that could be a boring goal for many. What if we could
> > >>> unleash
> > >>>>> some talent that is among us and hasn't had a chance to show its full
> > >>>>> potential? Opensource is about joy. It is about welcoming everyone to
> > >>>> join.
> > >>>>> Opensource should be egoless, although we must all admit that we
> > >> don't
> > >>>>> succeed in that aspect. We must fight our biases.
> > >>>>>
> > >>>>> Jarek Potiuk explains the importance of being welcoming for success
> > >> at
> > >>>>> Apache, in a 3-minute YouTube interview:
> > >>>>> https://www.youtube.com/watch?v=Dx5kQnVFo7E
> > >>>>> This interview is about Jarek's blog post "Success at Apache:
> > >> Welcoming
> > >>>>> communities strengthens the Apache way":
> > >>>>>
> > >>>>>
> > >>>>
> > >>>
> > >> https://news.apache.org/foundation/entry/success-at-apache-welcoming-communities
> > >>>>> I was pleased to meet Jarek at ApacheCon among so many other
> > >> welcoming
> > >>>>> personalities of the Apache community and the Apache Pulsar
> > >> community.
> > >>>>>
> > >>>>> Goals have to be ambitious. What if we set the bar really high?
> > >>>>> Apache Pulsar with 10 million topics in a cluster?
> > >>>>> Why not go up to 100 million topics?
> > >>>>> Just for fun. :)
> > >>>>>
> > >>>>> -Lari
> > >>>>>
> > >>>>> On 2022/10/07 22:53:59 Matteo Merli wrote:
> > >>>>>> I actually disagree with the term "Pulsar Next Gen", because I
> > >>> haven't
> > >>>>>> seen any proposal for which that would make sense to me to be
> > >> called
> > >>>>>> so.
> > >>>>>>
> > >>>>>> Rajan: That's the whole point of breaking it down. If you
> > >> accumulate
> > >>>>>> many "big" changes it introduces a lot of risk for instabilities
> > >> and
> > >>>>>> incompatibilities. Breaking it down in multiple steps helps to see
> > >>> the
> > >>>>>> incremental changes and introduced them in a phased manner.
> > >>>>>>
> > >>>>>>
> > >>>>>> --
> > >>>>>> Matteo Merli
> > >>>>>> <matteo.me...@gmail.com>
> > >>>>>>
> > >>>>>> On Fri, Oct 7, 2022 at 3:37 PM Rajan Dhabalia <
> > >> rdhaba...@apache.org>
> > >>>>> wrote:
> > >>>>>>>
> > >>>>>>> Hi,
> > >>>>>>>
> > >>>>>>> Can we get the list of changes at one place which we are planning
> > >>> to
> > >>>>> get as
> > >>>>>>> part of 3.0. One thing I would like to see as a part of a major
> > >>>>> release, it
> > >>>>>>> CAN NOT impact existing usecases and users in any way which can
> > >>> force
> > >>>>> them
> > >>>>>>> to upgrade the client library. Applications using < 3.0 version
> > >>>> should
> > >>>>>>> continue getting all the client and server side enhancements and
> > >>> bug
> > >>>>> fixes.
> > >>>>>>> Failing to provide bug-fixes and features to client < 3.0 means
> > >> we
> > >>>> are
> > >>>>>>> forcing them to upgrade client version by putting efforts to
> > >> handle
> > >>>> all
> > >>>>>>> incompatibility. and that's something we should definitely
> > >> prevent
> > >>>>> because
> > >>>>>>> Apache Pulsar is used by many large scale business usecases and
> > >> we
> > >>>>> should
> > >>>>>>> accommodate and motivate them to continue using Apache Pulsar.
> > >>>>>>> I understand as a Pulsar community we should always try to
> > >> progress
> > >>>> and
> > >>>>>>> build better but not at the cost of losing or reducing the Apache
> > >>>>> Pulsar
> > >>>>>>> community.
> > >>>>>>>
> > >>>>>>> Thanks,
> > >>>>>>> Rajan
> > >>>>>>>
> > >>>>>>>
> > >>>>>>> On Fri, Oct 7, 2022 at 12:41 PM Lari Hotari <lhot...@apache.org>
> > >>>>> wrote:
> > >>>>>>>
> > >>>>>>>> Thank you, Matteo. I agree that features should be delivered
> > >>>>> continuously
> > >>>>>>>> when that is possible. In this case, that might not apply.
> > >>>>>>>>
> > >>>>>>>> I also agree that calling this Pulsar 3.0 isn't necessarily
> > >>> aligned
> > >>>>> with
> > >>>>>>>> PIP-175 since an LTS release is when the major version is
> > >> bumped.
> > >>>>> I'm fine
> > >>>>>>>> in calling this "Pulsar Next Gen" or something that calls out
> > >>> that
> > >>>>> this is
> > >>>>>>>> planning for making a major leap in Pulsar.
> > >>>>>>>>
> > >>>>>>>> There are several unresolved issues with PIP-45 and the Pulsar
> > >>> Load
> > >>>>>>>> balancer. The previously referred email threads contain a lot
> > >> of
> > >>>>> context to
> > >>>>>>>> this. Resolving the issues efficiently will most likely result
> > >> in
> > >>>>> breaking
> > >>>>>>>> changes, which will be the reason why it deserves a major
> > >> version
> > >>>>> upgrade.
> > >>>>>>>>
> > >>>>>>>> We have discussed it before that it's crucial to have a path to
> > >>>>> migrate
> > >>>>>>>> users when there are breaking changes. This should be covered
> > >> in
> > >>>> any
> > >>>>> of the
> > >>>>>>>> solutions that are introduced. Optimally, users of Pulsar would
> > >>> be
> > >>>>> able to
> > >>>>>>>> upgrade seamlessly to Pulsar Next Gen / Pulsar 3.0, but rolling
> > >>>> back
> > >>>>> might
> > >>>>>>>> not be directly supported.
> > >>>>>>>>
> > >>>>>>>> I am welcoming everyone to join this planning for the Apache
> > >>> Pulsar
> > >>>>> Next
> > >>>>>>>> Gen architecture. Please check the first email in this thread
> > >> for
> > >>>>> details
> > >>>>>>>> of context, and start participating and contributing today. The
> > >>>> best
> > >>>>> way to
> > >>>>>>>> contribute is to participate in the email threads, since they
> > >>>> contain
> > >>>>>>>> details with better context.
> > >>>>>>>>
> > >>>>>>>> -Lari
> > >>>>>>>>
> > >>>>>>>> On 2022/10/07 18:03:00 Matteo Merli wrote:
> > >>>>>>>>> Given the past experiences and the discussions that already
> > >>>>> happened
> > >>>>>>>>> around "PIP-175: Extend time based release process", the idea
> > >>> is
> > >>>> to
> > >>>>>>>>> detach the 3.0 from "big-features" items or "incompatible
> > >>>> changes".
> > >>>>>>>>>
> > >>>>>>>>> The changes are going to get included as they are ready,
> > >> within
> > >>>>>>>>> feature releases, and in a fully compatible way. We don't
> > >> need
> > >>> to
> > >>>>>>>>> group them together and create unnecessary risk for the
> > >> release
> > >>>>>>>>> schedule and the users.
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>> --
> > >>>>>>>>> Matteo Merli
> > >>>>>>>>> <matteo.me...@gmail.com>
> > >>>>>>>>>
> > >>>>>>>>> On Fri, Oct 7, 2022 at 10:47 AM Lari Hotari <
> > >>> lhot...@apache.org>
> > >>>>> wrote:
> > >>>>>>>>>>
> > >>>>>>>>>> Hi all,
> > >>>>>>>>>>
> > >>>>>>>>>> Greeting from ApacheCon North America 2022 from New
> > >> Orleans!
> > >>>>>>>>>> We had a great conference with a dedicated Pulsar track.
> > >>> Thanks
> > >>>>> to all
> > >>>>>>>> presenters and everyone who attended. The talks weren't
> > >> recorded,
> > >>>>> but the
> > >>>>>>>> slides will be later on posted on the conference website [1].
> > >>>>>>>>>>
> > >>>>>>>>>> At ApacheCon there were several presentations about "the
> > >>> Apache
> > >>>>> way"
> > >>>>>>>> and what that means in practice. Based on that, we all know
> > >> that
> > >>> no
> > >>>>> person
> > >>>>>>>> is nominated as the CTO of Apache Pulsar who decides on Pulsar
> > >>> 3.0
> > >>>>> and when
> > >>>>>>>> that happens. It's us, the community, that serve that role
> > >>>> together.
> > >>>>> We
> > >>>>>>>> come together as individuals with the Apache hat on. Everyone
> > >> is
> > >>>>> equal in
> > >>>>>>>> the community, regardless of whether they are contributors,
> > >>>>> committers or
> > >>>>>>>> PMC members.
> > >>>>>>>>>> We welcome everyone to participate. The small detail about
> > >>>> voting
> > >>>>>>>> shouldn't stop anyone from participating in any aspects of the
> > >>>>> planning for
> > >>>>>>>> the roadmap.
> > >>>>>>>>>>
> > >>>>>>>>>> I'll like to get the discussions going for Pulsar 3.0. We
> > >>> don't
> > >>>>> need a
> > >>>>>>>> separate decision to start planning that. Please correct me if
> > >>> I'm
> > >>>>> wrong or
> > >>>>>>>> if you have a different opinion.
> > >>>>>>>>>>
> > >>>>>>>>>> There are a few previous discussion threads that are
> > >> related
> > >>> to
> > >>>>> Pulsar
> > >>>>>>>> 3.0 planning.
> > >>>>>>>>>> If you are interested in getting involved with Apache
> > >> Pulsar
> > >>>> 3.0
> > >>>>>>>> planning, I think that it makes sense for you to read these
> > >>> threads
> > >>>>>>>> carefully and reply to them. Please also suggest what you think
> > >>>>> makes sense.
> > >>>>>>>>>>
> > >>>>>>>>>> PIP-45 related:
> > >>>>>>>>
> > >> https://lists.apache.org/thread/tvco1orf0hsyt59pjtfbwoq0vf6hfrcj
> > >>>>>>>>>> Pulsar Load balancer / namespace bundle related:
> > >>>>>>>>>>
> > >>>> https://lists.apache.org/thread/roohoc9h2gthvmd7t81do4hfjs2gphpk
> > >>>>>>>>>> renaming topics:
> > >>>>>>>>>>
> > >>>> https://lists.apache.org/thread/vrr75rrh4trqlp14objh3snlfvmzdrp2
> > >>>>>>>>>> backpressure:
> > >>>>>>>>
> > >> https://lists.apache.org/thread/v7xy57qfzbhopoqbm75s6ng8xlhbr2q6
> > >>>>>>>>>>
> > >>>>>>>>>> Long list of Metadata inconsistency issues by Zac Bentley:
> > >>>>>>>>>> https://github.com/apache/pulsar/issues/12555
> > >>>>>>>>>> That would be a good starting point to understanding the
> > >> data
> > >>>>>>>> inconsistency issues related to current PIP-45 design. Perhaps
> > >>>> those
> > >>>>> could
> > >>>>>>>> be addressed already before Pulsar 3.0?
> > >>>>>>>>>>
> > >>>>>>>>>> I'm looking forward to everyone's participation in the
> > >> Apache
> > >>>>> Pulsar
> > >>>>>>>> 3.0 planning discussions.
> > >>>>>>>>>>
> > >>>>>>>>>> Best Regards,
> > >>>>>>>>>>
> > >>>>>>>>>> -Lari
> > >>>>>>>>>>
> > >>>>>>>>>> 1 - https://www.apachecon.com/acna2022/schedule.html
> > >>>>>>>>>
> > >>>>>>>>
> > >>>>>>
> > >>>>>
> > >>>>
> > >>>
> > >>
> >

Reply via email to