+1

On 2021/12/29 02:29:21 Haiting Jiang 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
> 

Reply via email to