You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by GitBox <gi...@apache.org> on 2026/09/25 17:11:54 UTC

[GH] (rocketmq/fix/transaction-op-batch-busy-loop): Workflow run "Run Integration Tests" failed!

The GitHub Actions job "Run Integration Tests" on rocketmq.git/fix/transaction-op-batch-busy-loop has failed.
Run started by GitHub user waterWang (triggered by waterWang).

Head commit for run:
7669ac09d685398b3e48605f3867913e73050427 / waterWang <wa...@proton.me>
[ISSUE #10966] Fix TransactionalOpBatchService busy loop when deleteContext is drained

When every entry in deleteContext has already been drained (offsets batched
and sent) but is still present in the map, batchSendOpMessage() falls through
to the stale lastWriteTimestamp branch and returns 0L. TransactionalOpBatchService
treats 0 as "run again immediately", so waitForRunning(0) returns at once and the
thread busy-loops at ~100% CPU after any transaction-message workload goes idle.

Fix by returning System.currentTimeMillis() + transactionOpBatchInterval when
no op message was batched in the round (sendMap == null), so the thread sleeps
until the next scheduled scan. New deletes still wake it promptly via
deletePrepareMessage() -> wakeup().

Signed-off-by: waterWang <wa...@proton.me>

Report URL: https://github.com/apache/rocketmq/actions/runs/32992573256

With regards,
GitHub Actions via GitBox