The GitHub Actions job "CI" on rocketmq-dashboard.git/fix/redelivery-exact-source-rebase has failed. Run started by GitHub user unbridled-41 (triggered by unbridled-41).
Head commit for run: ec78abe8dd6971f702aa8658e64a5401fcf79fce / unbridled-41 <[email protected]> fix(message): refuse redelivery when the source is only a display projection The AI redelivery tool loads its source with findMessageForRedelivery, which reads the message explorer query - a display projection, not the stored record. For a large or binary message that projection is lossy: - the body stops at MAX_BODY_DISPLAY_BYTES (64 KiB) and carries bodyTruncated = true; - a body that is not valid UTF-8 is replaced by Base64 text with bodyEncoding = "BASE64"; - the property map is capped and abbreviated. redeliverMessage published that projection verbatim, so redelivering a big message stored a truncated body and redelivering a binary one stored its Base64 text - a silently rewritten message - without any error. Refuse a source that cannot be republished exactly with a 409 and a reason, instead of corrupting the stored payload: - requireExactSourceMessage() rejects a truncated body, a Base64 body and provable user-property loss. The property check is deliberately narrow: propertiesTruncated is computed over the raw map including broker system keys, while redeliveryProperties discards those keys anyway, so the guard only refuses when a visible user property value was abbreviated (MessagePropertyDisplay exposes the marker so the two cannot drift). - MessageRedeliveryToolHandler.preview() runs the same guard as execute(), so the agent can never present a plan whose publish execution would refuse; the plan description states the refusal contract. Tested: MetadataServiceTest, MessageRedeliveryToolHandlerTest and MessagePropertyDisplayTest -> 72 passed. With the guard temporarily neutralised, the new MetadataServiceTest regressions fail (3), and they pass with it. checkstyle clean. Report URL: https://github.com/apache/rocketmq-dashboard/actions/runs/37087593805 With regards, GitHub Actions via GitBox
