+1

Best,
Hang

Zike Yang <zky...@streamnative.io.invalid> 于2021年12月29日周三 15:04写道:
>
> +1
>
> Thanks,
> Zike
>
> On Wed, Dec 29, 2021 at 11:26 AM PengHui Li <peng...@apache.org> wrote:
> >
> > +1
> >
> > Thanks,
> > Penghui
> >
> > On Wed, Dec 29, 2021 at 10:29 AM Haiting Jiang <jianghait...@apache.org>
> > wrote:
> >
> > > This is the voting thread for PIP-131. It will stay open for at least 48h.
> > >
> > > https://github.com/apache/pulsar/issues/13544
> > >
> > > The discussion thread is
> > > https://lists.apache.org/thread/c63d9s73j9x1m3dkqr3r38gyp8s7cwzf
> > >
> > > ## Motivation
> > >
> > > Currently, chunk messages producing fails if topic level maxMessageSize is
> > > set [1]. The root cause of this issue is because chunk message is using
> > > broker level maxMessageSize as chunk size. And topic level maxMessageSize
> > > is always <= broker level maxMessageSize. So once it is set, the on-going
> > > chunk message producing fails.
> > >
> > > ## Goal
> > >
> > > Resolve topic level maxMessageSize compatibility issue with chunking
> > > messages.
> > >
> > > ## Implementation
> > >
> > > Current best solution would be just skipping topic level maxMessageSize
> > > check in
> > > org.apache.pulsar.broker.service.AbstractTopic#isExceedMaximumMessageSize.
> > > Topic level maxMessageSize is introduced in [2], for the purpose of
> > > "easier to plan resource quotas for client allocation". And IMO this 
> > > change
> > > will not bring further complex into this.
> > >
> > > ## Reject Alternatives
> > >
> > > Add a client side topic level maxMessageSize and keep it synced with
> > > broker.
> > >
> > > Required changes:
> > > - [client] Add a new field
> > > org.apache.pulsar.client.impl.ProducerBase#maxMessageSize to store this
> > > client side topic level maxMessageSize.
> > > - [PulsarApi.proto] Add a new field maxMessageSize in the
> > > CommandProducerSuccess for the initial value of 
> > > ProducerBase#maxMessageSize
> > > - [PulsarApi.proto] Add a new Command like
> > > CommandUpdateClientPolicy{producerId, maxMessageSize} to update
> > > ProducerBase#maxMessageSize when topic level maxMessageSize is updated.
> > > Further more, some other data consistency issues need be handled very
> > > carefully when maxMessageSize is updated.
> > > This alternative is complex but can also solve other topic level
> > > maxMessageSize issue [3] when batching is enabled (non-batching case is
> > > solved with PR [4]).
> > >
> > > [1] https://github.com/apache/pulsar/issues/13360
> > > [2] https://github.com/apache/pulsar/pull/8732
> > > [3] https://github.com/apache/pulsar/issues/12958
> > > [4] https://github.com/apache/pulsar/pull/13147
> > >
> > > Thanks,
> > > Haiting Jiang
> > >
>
>
>
> --
> Zike Yang

Reply via email to