Skip to content
This repository has been archived by the owner on Apr 1, 2024. It is now read-only.

[DON'T MERGE] Show diff between branch-2.10.5.11 and 99cb86 special release #5988

Open
wants to merge 8 commits into
base: branch-2.10.5.11
Choose a base branch
from

Conversation

mattisonchao
Copy link
Member

@mattisonchao mattisonchao commented Dec 28, 2023

[DON'T MERGE] Show diff between branch-2.10.5.11 and 99cb86 special release

* InflightReadsLimiter - limit the memory used by reads end-to-end (from storage/cache to the write to the consumer channel) (apache#18245)

* InflightReadsLimiter - limit the memory used by reads end-to-end (from storage/cache to the write to the consumer channel)

Motivation:

Broker can go out of memory due to many reads enqueued on the PersistentDispatcherMultipleConsumers dispatchMessagesThread (that is used in case of dispatcherDispatchMessagesInSubscriptionThread set to true, that is the default value)
The limit of the amount of memory retained due to reads MUST take into account also the entries coming from the Cache.

When dispatcherDispatchMessagesInSubscriptionThread is false (the behaviour of Pulsar 2.10) there is some kind of natural (but still unpredictable!!) back pressure mechanism because the thread that receives the entries from BK of the cache dispatches immediately and synchronously the entries to the consumer and releases them

Modifications:

- Add a new component (InflightReadsLimiter) that keeps track of the overall amount of memory retained due to inflight reads.
- Add a new configuration entry managedLedgerMaxReadsInFlightSizeInMB
- The feature is disabled by default
- Add new metrics to track the values

* Change error message

* checkstyle

* Fix license

* remove duplicate method after cherry-pick

* Rename onDeallocate

(cherry picked from commit 6fec66b)
(cherry picked from commit 47c98e5)

* [fix][broker][branch-2.10] limit the memory used by reads end-to-end

(cherry picked from commit eeb80e1)

* remove gpg plugin

* remove release profile

* remove release plugin

* Revert "remove release plugin"

This reverts commit 20522ea.

* Revert "remove release profile"

This reverts commit 64627fd.

* Revert "remove gpg plugin"

This reverts commit 8054d59.

---------

Co-authored-by: Enrico Olivelli <[email protected]>
@mattisonchao mattisonchao changed the title [DON'T MERGE] Show diff with branch-2.10.5.11 for 99cb86 special release [DON'T MERGE] Show diff between branch-2.10.5.11 and 99cb86 special release Dec 28, 2023
@mattisonchao mattisonchao force-pushed the branch-2.10.5.11-ss-99cb86 branch 2 times, most recently from af92ee6 to a0ad8dd Compare December 28, 2023 14:23
@yaalsn yaalsn closed this Dec 29, 2023
@yaalsn yaalsn reopened this Dec 29, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants