qianye1001 opened a new issue, #11089:
URL: https://github.com/apache/rocketmq/issues/11089

   ### Motivation
   
   Reduce the number of consumption threads used by Proxy internal clients by 
allowing them to share a consumption executor. System-message syncers currently 
create PushConsumers with dedicated consumption pools, and callers cannot 
supply a shared executor.
   
   ### Proposed change
   
   - Allow `DefaultMQPushConsumer` to accept an externally owned 
`ExecutorService`, including a virtual-thread executor supplied by applications 
running on JDK 21 or later.
   - Wire a Proxy-owned executor through the internal system-message consumers. 
Keep consumer groups, subscriptions and offsets unchanged.
   - Initialize the Proxy executor from `ProxyConfig`: core size = available 
processors, maximum size = twice available processors, queue capacity = 10000, 
and discard-oldest rejection policy.
   - Preserve independent consumer shutdown without closing other consumers' 
executor. Account for discarded tasks so shutdown tracking and broadcast 
consumption progress are not left pending.
   


-- 
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