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]

Reply via email to