Hi Michael,
 

> This PIP is similar to autorecovery throttling. I think the feature
> makes sense for the same reasons that throttling autorecovery makes
> sense.

Yes, the PIP’s key point is protect the broker, to prevent offloading takes too 
much broker resources.

> Tangentially, can we decouple writes to tiered storage from the broker
> hosting the topic being offloaded?

Do you mean that add a new broker type? And this type broker only for Offload 
processing?
I think that the introduction of a new broker type is relatively heavyweight in 
order to implement offload throttling.
We can do it in a simpler way

Thanks,
Tao Jiuming




> 2022年11月8日 上午8:08,Michael Marshall <mmarsh...@apache.org> 写道:
> 
> This PIP is similar to autorecovery throttling. I think the feature
> makes sense for the same reasons that throttling autorecovery makes
> sense.
> 
> Tangentially, can we decouple writes to tiered storage from the broker
> hosting the topic being offloaded? An independent service could write
> to tiered storage without impacting the broker and could easily scale
> as with the work. The primary complication for the service would be
> figuring out which ledgers to offload. Perhaps the managed ledger
> could "offer" ledgers up that need to be offloaded, and the new
> service would only need to consume those events.
> 
> Although, a new service would complicate the pulsar deployment.
> 
> Thanks,
> Michael
> 
> On Mon, Nov 7, 2022 at 10:30 AM Jiuming Tao
> <jm...@streamnative.io.invalid> wrote:
>> 
>>> One alternative would be to throttle offload in the write path instead of 
>>> adding additional logic to the read path in managed ledgers.
>> 
>> This is really a feasible method.
>> But we need to make changes in FileSystem and BlobStore offloaders, event 
>> custom offloaders. I think this is not universal.
>> 
>>> One simple way to do this is to to limit how many threads can write 
>>> offloaded ledgers. This is the same way that reading of offloaded ledgers 
>>> are already “throttled” by that thread count defaulting to 2.
>> 
>> Yes, the offloader thread count is defaulting to 2, but, it does not 
>> effectively limit traffic. If the reading rate of BK is very fast, it also 
>> leads to high CPU/Memory/Network usage
>> 
>> Thanks,
>> Tao Jiuming
>> 
>>> 2022年11月2日 上午1:43,Dave Fisher <w...@apache.org> 写道:
>>> 
>>> One alternative would be to throttle offload in the write path instead of 
>>> adding additional logic to the read path in managed ledgers.
>>> 
>>> One simple way to do this is to to limit how many threads can write 
>>> offloaded ledgers. This is the same way that reading of offloaded ledgers 
>>> are already “throttled” by that thread count defaulting to 2.
>>> 
>>> Regards,
>>> Dave
>>> 
>>> Sent from my iPhone
>>> 
>>>> On Nov 1, 2022, at 10:27 AM, Jiuming Tao <jm...@streamnative.io.invalid> 
>>>> wrote:
>>>> 
>>>> Hi pulsar community,
>>>> 
>>>> I opened a PIP to discuss: PIP-211: Introduce offload throttling
>>>> 
>>>> PIP link: https://github.com/apache/pulsar/issues/18004 
>>>> <https://github.com/apache/pulsar/issues/18004>
>>>> 
>>>> Thanks,
>>>> Tao Jiuming
>>> 
>> 

Reply via email to