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]
