Denovo1998 opened a new pull request, #24928:
URL: https://github.com/apache/pulsar/pull/24928

   Main Issue: #24600
   
   ### Motivation
   
   The primary motivation for this proposal is to address the high memory 
consumption caused by the current per-subscription delayed message tracking 
mechanism. For topics with hundreds or thousands of subscriptions, the memory 
footprint for delayed messages becomes prohibitively large. Each delayed 
message's position is duplicated across every subscription's tracker, leading 
to a memory usage pattern of `O(num_delayed_messages * num_subscriptions)`.
   
   This excessive memory usage can cause:
   *   Increased memory pressure on Pulsar brokers.
   *   More frequent and longer Garbage Collection (GC) pauses, impacting 
broker performance.
   *   Potential OutOfMemoryErrors, leading to broker instability.
   *   Limited scalability for use cases that rely on many subscriptions per 
topic, such as IoT or large-scale microservices with shared subscriptions.
   
   By optimizing the delayed message tracking to be more memory-efficient, we 
can enhance broker stability and scalability, allowing Pulsar to better support 
these critical use cases.
   
   ### Documentation
   
   <!-- DO NOT REMOVE THIS SECTION. CHECK THE PROPER BOX ONLY. -->
   
   - [ ] `doc` <!-- Your PR contains doc changes. -->
   - [ ] `doc-required` <!-- Your PR changes impact docs and you will update 
later -->
   - [x] `doc-not-needed` <!-- Your PR changes do not impact docs -->
   - [ ] `doc-complete` <!-- Docs have been already added -->


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to