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

   **Issue Evaluation**
   
   Category: `type/bug` | Status: **Confirmed**
   
   Verified against `develop` branch (commit 9ea2ccd). The bug is in 
`ProxyAdminGrpcService.verifyMessage()` (line ~1293):
   
   ```java
   CMResult consumeResult = directlyResult == null ? null : 
directlyResult.getConsumeResult();
   if (consumeResult == CMResult.CR_SUCCESS) {
       respond(responseObserver, 
VerifyMessageResponse.newBuilder().setStatus(ok()).build());
   } else {
       respond(responseObserver, VerifyMessageResponse.newBuilder()
           .setStatus(err(Code.MESSAGE_CORRUPTED, ...))
           .build());
   }
   ```
   
   All non-success `CMResult` values (`CR_LATER`, `CR_ROLLBACK`, `CR_COMMIT`, 
`CR_THROW_EXCEPTION`, `CR_RETURN_NULL`, and `null`) are collapsed into 
`MESSAGE_CORRUPTED`, losing the actual failure semantics that the proto grade 
system is designed to carry.
   
   **Root Cause:** Binary success/else branch — no mapping from `CMResult` to 
the corresponding proto `Code`.
   **Impact:** Proxy Admin surface, dashboards/automations that react to 
`MESSAGE_CORRUPTED` will misdiagnose healthy messages as corrupted when the 
client simply retried or was offline.
   **Severity:** Medium — incorrect error reporting, no data loss.
   
   An automated fix proposal will be generated. Reply `/approve` to proceed 
with PR generation.
   
   ---
   *Automated evaluation by RockteMQ-AI*
   


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