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/07/01 04:28:28 UTC
[GH] (rocketmq/fix/transaction-check-prefer-original-producer): Workflow run "Coverage" is working again!
The GitHub Actions job "Coverage" on rocketmq.git/fix/transaction-check-prefer-original-producer has succeeded.
Run started by GitHub user wang-jiahua (triggered by wang-jiahua).
Head commit for run:
163dc4e7a469e7af65304b8a2c80a2f473d39428 / wangjiahua.wjh <wa...@alibaba-inc.com>
[ISSUE #9791] Prefer original producer when checking transaction state
When multiple producers in the same group handle different topics,
the transaction check may be routed to an unrelated producer that
cannot determine the transaction state correctly.
Fix: Record the original producer's clientId in the half message
properties. During transaction check-back, prefer the channel
matching that clientId. Fall back to round-robin if the original
producer is offline.
Changes:
- MessageConst: add PROPERTY_TRANSACTION_PRODUCER_CLIENT_ID
- DefaultMQProducerImpl: write clientId into half message
- ProducerManager: add getAvailableChannel(groupId, preferredClientId)
- AbstractTransactionalMessageCheckListener: use new method
- TransactionalMessageRocksDBService: use new method
- ProducerManagerTest: 3 new test cases
Report URL: https://github.com/apache/rocketmq/actions/runs/28492456934
With regards,
GitHub Actions via GitBox