GitHub user manfrid edited a discussion: too many ProduceAccmulators

- Our program creates many DefaultMQProducer instances (for several clusters).
- After initializing DefaultMQProducer, we set the instanceName.
- Previously, in version 5.3.0, the ProduceAccumulator was created in its 
constructor at a time when the instanceName was still "DEFAULT". As a result, 
only one ProduceAccumulator was created.
- After upgrading to version 5.3.2, the creation of ProduceAccumulator was 
moved to the start method. This change caused the creation of many 
ProduceAccumulator instances (more than 80).
- Each ProduceAccumulator maintains two threads that continuously loop, 
consuming a significant amount of CPU resources.
- At the same time, it was discovered that libjvm.so.java_start is also 
consuming a significant amount of resources. It is suspected that this is 
related to frequent lock contention and thread context switching caused by the 
two threads inside ProduceAccumulator.

<img width="2256" alt="Image" 
src="https://github.com/user-attachments/assets/fb170a71-d995-41f4-a0e0-61a2ac02f645";
 />


GitHub link: https://github.com/apache/rocketmq/discussions/9350

----
This is an automatically sent email for dev@rocketmq.apache.org.
To unsubscribe, please send an email to: dev-unsubscr...@rocketmq.apache.org

Reply via email to