RockteMQ-AI commented on issue #11367:
URL: https://github.com/apache/rocketmq/issues/11367#issuecomment-6121190025

   **Issue Evaluation**
   
   Category: `type/bug` | Status: **Confirmed** | Severity: **High**
   
   The reported issue has been verified against the current codebase.
   
   **Root Cause:**
   `ProxyAdminGrpcService.resetGroupOffset` reuses the best-effort 
`queryAllBrokers` helper for a mutation operation. `queryAllBrokers` silently 
drops partial failures — it only propagates errors when **all** brokers fail. 
For a state-mutating operation like offset reset, this means a partial success 
(some brokers reset, others not) returns `OK` with no indication to the caller.
   
   **Key evidence:**
   - `queryAllBrokers` (lines 273-313) is designed for reads (per its javadoc), 
not mutations
   - `ResetGroupOffsetResponse` proto has only a `status` field — no way to 
report partial results
   - The admin tool `DefaultMQAdminExtImpl.resetOffsetNewConcurrent` correctly 
tracks per-broker success/failure, showing the proxy path is inconsistent
   - Tests cover all-success and total-failure but not partial failure
   
   **Impact:** Proxy v2 admin API `ResetGroupOffset` — operators may believe 
all brokers were reset when only some were, leading to duplicate or skipped 
messages on unaffected brokers.
   
   Note: PR #11368 appears to address this by adding a `requireAllBrokers` mode 
for mutations.
   
   ---
   *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