+1 (binding)

Enrico

Il giorno mar 9 mag 2023 alle ore 08:10 Yunze Xu <x...@apache.org> ha scritto:
>
> +1 (binding)
>
> The separated TopicBundleAssignmentStrategy and bundleSplitListener LGTM.
>
> Typo:
> * TopicBunldeAssignmentFactory -> TopicBundleAssignmentFactory
> * TopicBunldeAssignmentStrategy -> TopicBundleAssignmentStrategy
>
> Thanks,
> Yunze
>
> On Tue, May 9, 2023 at 1:17 PM PengHui Li <peng...@apache.org> wrote:
> >
> > Hi Lin,
> >
> > I noticed the PIP is updated, and thanks for addressing my comments.
> > It looks good to me now.
> >
> > +1 (binding)
> >
> > Regards,
> > Penghui
> >
> > On Mon, May 8, 2023 at 5:16 PM PengHui Li <peng...@apache.org> wrote:
> >
> > > I'm sorry for not getting back to you sooner.
> > >
> > > From the description of the proposal. You have figured out the problems
> > > with the current
> > > solution. From my understanding, only the first one is in the scope of
> > > this proposal.
> > > The other two problems, one is about the issue from ThresholdShedder and
> > > another
> > > one is about the load data sync issue.
> > >
> > > It would be better to have a section "Scope" to underline that the
> > > proposal is
> > > trying to resolve the first issue. Or we can just describe it in the
> > > motivation section like
> > >
> > > ---
> > > There are a couple of problems with the current load balancer 1, 2, 3.
> > > This proposal is
> > > trying to resolve the first issue by introducing a pluggable topic bundle
> > > assigner to
> > > allow users to customize the topic bundle assignment according to their
> > > use case.
> > > Problem 2 and 3 is not in the scope of this proposal.
> > > ---
> > >
> > > Just to make it more clear for reviewers to understand what is in the
> > > scope and not in
> > > the scope.
> > >
> > > I remember there was an implementation section for assigning partitions to
> > > different bundles. It will be an excellent example for users to understand
> > > what a customized
> > > topic bundle assigner looks like. I think we can add it back as an example
> > > (not implementation)
> > >
> > > For the newly introduced configuration in broker.conf.
> > > I think we'd better use `topicBundleAssignmentStrategy` instead of `
> > > partitionAssignerClassName.`
> > > because it is only for partitions. Users can also implement their own 
> > > BundleAssignmentStrategy
> > > for
> > > non-partitioned topics.
> > >
> > > For the new methods in the new strategy class:
> > >
> > > ---
> > >     void onBundleSplit(NamespaceBundle bundle);
> > >     void onBundleUnload(NamespaceBundle bundle);
> > >     void onBundleOwned(NamespaceBundle namespaceBundle);
> > > ---
> > >
> > > If I understand correctly, there are some cases users might need to handle
> > > the above events
> > > to do some topics unloading or other operations. Is it better to
> > > introduce a listener interface
> > > to the LoadManager? So that we don't need to add the above method in the
> > > AssignmentStrategy
> > > class. For example:
> > >
> > > ---
> > > new MyTopicBundleAssignmentStrategy(PulsarService pulsar) {
> > >       pulsar.getLoadManager().registerListener(...)
> > > }
> > > ---
> > >
> > > Not all TopicBundleAssignmentStrategy implementations need to handle the
> > > events, right?
> > > So that we can make the new interface better to follow the SRP (Single
> > > Responsibility Principle).
> > >
> > > Thanks,
> > > Penghui
> > >
> > > On Fri, Apr 21, 2023 at 1:50 PM linlin <lin...@apache.org> wrote:
> > >
> > >> Hi Pulsar Community,
> > >>
> > >> This thread is to start the vote for PIP 255.
> > >> After discussion, we believe that it is a better way to plug-in the
> > >> partition assignment strategy,
> > >> and let customers complete the specific implementation.
> > >>
> > >> So the title is change from "Assign topic partitions to bundle by round
> > >> robin" to
> > >> "Make the partition assignment strategy pluggable"
> > >>
> > >> Discussion:
> > >> https://lists.apache.org/thread/pxx715jrqjc219pymskz8xcz57jdmcfy
> > >> Issue: https://github.com/apache/pulsar/issues/19806
> > >>
> > >> Thanks,
> > >> Lin Lin
> > >>
> > >

Reply via email to