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

   **Issue Evaluation**
   
   Category: `bug` | Status: **Confirmed**
   
   Verified against the current `develop` branch. The bug is in 
`ScheduleMessageService#messageTimeUp`:
   
   - **Line 344**: 
`msgInner.setPropertiesString(MessageDecoder.messageProperties2String(msgExt.getProperties()))`
 encodes the properties string **before** internal properties are cleared.
   - **Lines 353-355**: `clearProperty` calls for `PROPERTY_DELAY_TIME_LEVEL`, 
`PROPERTY_TIMER_DELIVER_MS`, and `PROPERTY_TIMER_DELAY_SEC` modify the 
in-memory map but **not** the already-encoded `propertiesString`.
   
   **Root Cause:** Properties string serialization happens before internal 
property removal, causing timer/delay internal properties to leak into the 
delivered message's `propertiesString`.
   
   **Impact:** Consumers receiving delay/timer messages will see internal 
properties in their `propertiesString`, which should be transparent to end 
users.
   
   **Severity:** Medium — functional correctness is not affected (delivery 
timing is correct), but the API contract is violated.
   
   **Fix direction:** Move `setPropertiesString` to after the `clearProperty` 
calls, or re-encode the properties string after clearing.
   
   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