RockteMQ-AI commented on issue #10545: URL: https://github.com/apache/rocketmq/issues/10545#issuecomment-4785757221
**Issue Evaluation** Category: `type/enhancement` | Status: **Evaluated** **Feasibility:** feasible **Scope:** `client` module (TransactionMQProducer, DefaultMQProducerImpl) **Compatibility:** Fully backward-compatible — pure client-side API addition, no broker changes required. **Assessment:** This is a well-analyzed enhancement request. The gap is real: normal messages support `MessageQueueSelector` for deterministic queue routing, but transactional messages do not expose an equivalent API. The proposal to add overloaded `sendMessageInTransaction(Message msg, MessageQueueSelector selector, Object arg)` is straightforward and consistent with the existing API design. Key observations: - **Broker-side is already ready** — the half message stores `PROPERTY_REAL_TOPIC` / `PROPERTY_REAL_QUEUE_ID`, so the broker correctly preserves and restores the selected queue. No broker changes needed. - **Client-side change is minimal** — `DefaultMQProducerImpl#sendMessageInTransaction` already calls `sendDefaultImpl` internally; the overload just needs to thread the selector through to the send path, mirroring how normal messages handle it. - **Backward compatible** — existing `sendMessageInTransaction(Message, Object)` remains untouched. This looks like a good first contribution for someone familiar with the producer client. The implementation path is clear from the source references provided. --- *Automated evaluation by github-manager-bot* -- 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]
