The GitHub Actions job "License checker" 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 <[email protected]>
[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 <[email protected]>

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

With regards,
GitHub Actions via GitBox

Reply via email to