RockteMQ-AI commented on issue #4343:
URL: 
https://github.com/apache/rocketmq-dashboard/issues/4343#issuecomment-5681500173

   **Issue Evaluation**
   
   Category: `enhancement` | Status: **Evaluated**
   
   **Feasibility:** Feasible
   **Scope:** Dashboard backend (new model + service + controller) + frontend 
(new audit modal component)
   **Compatibility:** Non-breaking — additive feature, no existing APIs 
affected.
   
   **Assessment:**
   
   The dashboard already models `TRANSACTION` as a `TopicType` and tracks 
`transactionState`/`transactionId` in trace nodes (`TraceNode.java`, 
`ProducerNode.java`). However, there is no dedicated audit module for hanging 
half-messages (prepared but uncommitted/un-rolled-back).
   
   The proposed `TransactionHalfMessageAuditService` would need to:
   1. Query the broker's `HALF` queue via existing `RocketMQAdminClient` to 
enumerate uncommitted transaction messages.
   2. Track check-retry counts — this data is available in `TransactionState` 
from the broker's `EndTransactionProcessor`.
   3. Expose manual commit/rollback endpoints — these would delegate to 
`MQAdminExt`.`endTransaction()`.
   
   **Considerations:**
   - Manual commit/rollback from the dashboard is a **privileged operation** — 
it must be gated behind proper authorization (admin role check) and ideally 
require confirmation.
   - The broker must expose half-message enumeration APIs; verify that 
`selectOneMessageByOffset` or equivalent admin commands support the `HALF` 
topic filter.
   - Check-retry count tracking may require broker-side metrics exposure if not 
already available via `getConsumerRunningInfo` or similar.
   
   **Verdict:** Valid enhancement with clear operational value for 
transactional messaging deployments. Implementation complexity is moderate — 
the main challenge is broker-side half-message enumeration API availability.
   
   ---
   *🤖 Evaluated by github-manager (automated)*


-- 
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