Aias00 opened a new issue, #10780:
URL: https://github.com/apache/rocketmq/issues/10780

   ### Before Creating the Bug Report
   
   - [x] I have searched the existing issues and pull requests.
   
   ### Runtime platform environment
   
   N/A
   
   ### RocketMQ version
   
   develop branch
   
   ### JDK Version
   
   N/A
   
   ### Describe the Bug
   
   `ClusterMessageService.batchAckMessage()` builds `extraInfoList` from 
`handleList` and then immediately reads `handleList.get(0)` to resolve the 
broker address.
   
   If an empty handle list reaches this service method, it throws 
`IndexOutOfBoundsException` before returning a failed future with a meaningful 
Proxy error.
   
   ### Steps to Reproduce
   
   1. Call `ClusterMessageService.batchAckMessage()` with an empty `handleList`.
   2. Observe that `handleList.get(0)` is evaluated without a non-empty guard.
   
   ### What Did You Expect to See?
   
   The method should reject an empty batch ack request with a stable failed 
future and a meaningful Proxy error. It should not call the broker client 
because there is no receipt handle from which a broker can be resolved.
   
   ### What Did You See Instead?
   
   The method can throw `IndexOutOfBoundsException`.
   
   ### Additional Context
   
   This is a small Proxy runtime robustness fix for the batch ack path.
   


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