RockteMQ-AI commented on issue #10968: URL: https://github.com/apache/rocketmq/issues/10968#issuecomment-5435612606
**Issue Evaluation** Category: `type/enhancement` | Status: **Evaluated** **Feasibility:** feasible **Scope:** `EndTransactionProcessor#endMessageTransaction` (broker module) **Compatibility:** no wire format change — the delivered message still encodes `propertiesString` after `clearProperty` This is a valid optimization. The current code performs a full encode→decode round-trip solely to deep-copy the properties map, which is wasteful. Replacing it with `MessageAccessor.deepCopyProperties()` (or an equivalent direct map copy) eliminates two unnecessary traversals and intermediate string allocations per transaction commit/rollback. The behavioral analysis is correct: at this call site, `msgExt` comes from the store layer where the properties parser never produces null/empty values, so the silent filtering behavior of the codec round-trip is unreachable. The final encode after `clearProperty` remains unchanged, preserving the wire format. **Recommendation:** proceed — clean, low-risk optimization with measurable allocation reduction on the transaction hot path. --- *Automated evaluation by github-manager-bot* -- 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]
