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