anton-zom-ra opened a new issue, #10966:
URL: https://github.com/apache/rocketmq/issues/10966

   ### Before Creating the Bug Report
   
   - [x] I found a bug, not just asking a question, which should be created in 
[GitHub Discussions](https://github.com/apache/rocketmq/discussions).
   
   - [x] I have searched the [GitHub 
Issues](https://github.com/apache/rocketmq/issues) and [GitHub 
Discussions](https://github.com/apache/rocketmq/discussions)  of this 
repository and believe that this is not a duplicate.
   
   - [x] I have confirmed that this bug belongs to the current repository, not 
other repositories of RocketMQ.
   
   
   ### Runtime platform environment
   
   macos 15.1  M4
   
   ### RocketMQ version
   
   5.5.0 docker
   
   ### JDK Version
   
   21
   
   ### Describe the Bug
   
   RocketMQ 5.5.0 的事务消息批处理线程陷入忙循环.
   
     实时证据:
   
     - Broker 内线程 TransactionalOpBatchService(Linux TID 197)稳定占用 99.9% 单核。
     - 连续线程栈固定在:
       TransactionalMessageServiceImpl.batchSendOpMessage() 第 706 行遍历 
deleteContext。
   
     - Lite 端测发送事务消息后会100%触发该路径;事务 half/op topic 均只有 14 条且 offset 
已对齐,排除了积压和事务回查负
       载。
   
    目前认为的根因是 RocketMQ 5.5.0 的实现缺陷:事务操作上下文已清空后仍保留在 deleteContext 
中;batchSendOpMessage()
     对过期空上下文返回 0,而 TransactionalOpBatchService 将其视为“立刻再次执行”,于是无休眠反复遍历该 Map,打满一个
     CPU 核。源码逻辑可见:TransactionalOpBatchService
     
(https://github.com/apache/rocketmq/blob/rocketmq-all-5.5.0/broker/src/main/java/org/apache/rocketmq/broker/transaction/queue/TransactionalOpBatchService.java)
     与 TransactionalMessageServiceImpl
     
(https://github.com/apache/rocketmq/blob/rocketmq-all-5.5.0/broker/src/main/java/org/apache/rocketmq/broker/transaction/queue/TransactionalMessageServiceImpl.java)。
   
   ### Steps to Reproduce
   
   Lite 端测发送事务消息后会100%触发该路径
   
   ### What Did You Expect to See?
   
   本地cluster 模式,Lite 端测发送事务消息,100%触发
   
   ### What Did You See Instead?
   
   CPU 100%
   
   ### Additional Context
   
   _No response_


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