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

   ### Before Creating the Bug Report
   
   - [x] I found a bug, not just a question.
   - [x] I searched existing issues and pull requests for malformed 
reconsumeTimes, maxReconsumeTimes, and PROPERTY_RECONSUME_TIME handling.
   - [x] I confirmed the affected code belongs to this repository.
   
   ### Describe the Bug
   
   ProducerProcessor#buildSendMessageRequestHeader parses retry-message 
properties with Integer.valueOf:
   
   - MessageConst.PROPERTY_RECONSUME_TIME
   - MessageConst.PROPERTY_MAX_RECONSUME_TIMES
   
   If either stored property is malformed, building the broker request header 
throws NumberFormatException and the Proxy send/retry path fails. The same 
method already tolerates a malformed born timestamp by falling back to the 
current time, but retry counters do not have equivalent defensive handling.
   
   ### Expected Behavior
   
   - Preserve the current behavior for valid retry counters.
   - Treat a malformed reconsume-times value as the existing default of 0.
   - Leave max-reconsume-times unset when its value is malformed.
   - Keep clearing the internal retry properties from the message after 
handling them.
   - Add focused tests proving malformed counters do not abort request-header 
construction.
   
   ### Affected Area
   
   RocketMQ Proxy producer/retry message processing used by RocketMQ Studio and 
gRPC/remoting operational flows.
   
   ### Proposed Scope
   
   Keep the change local to ProducerProcessor retry-counter parsing and its 
unit tests. Do not change public APIs or valid retry-message semantics.


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