unbridled-41 commented on PR #11050: URL: https://github.com/apache/rocketmq/pull/11050#issuecomment-5556025292
**Evidence-chain audit (2026-09-06)** — every technical assertion in the PR body re-verified against source; tests re-run at the branch tip. Code-level anchors (personally re-read at the fix branch): - `LocalMessageService#sendMessage` tail constructs **exactly one** `SendResult` and returns `Collections.singletonList(sendResult)` (`proxy/.../message/LocalMessageService.java:131-160`): `msgId = messageId` (the **batch** uniq-ID from `MessageClientIDSetter.getUniqID(msgBatch)`, not comma-joined), `offsetMsgId = responseHeader.getMsgId()`, `queueOffset = responseHeader.getQueueOffset()` (first message's offset). - Broker-side response shape verified: for a batch append, `SendMessageProcessor` sets `responseHeader.setMsgId(putMessageResult.getAppendMessageResult().getMsgId())` (`SendMessageProcessor.java:501`) — the comma-joined per-message physical ids that `ProduceAccumulator#splitSendResults` (`client/.../producer/ProduceAccumulator.java:432-454`) splits. - Cluster mode therefore takes the primary expansion path: `MQClientAPIImpl` returns a `SendResult` with comma-joined `msgId`/`offsetMsgId`, and the fix produces per-message `messageId` and `queueOffset + i`. - Local mode nuance (disclosed for completeness): the proxy-built `msgId` is the batch uniq-ID (no comma), so the strict both-splittable check falls into the reuse branch — identical to `splitSendResults`' semantics for results without per-message ids (its `isBatchConsumerQueue` branch). The receipt-count contract enforced by the v2 SDKs is restored in both modes; per-message id/offset fidelity in local mode is bounded by what the proxy's own `SendResult` carries. Fresh re-run at this PR's tip `de702c864` (2026-09-06, JDK 8): ``` mvn -pl proxy test -Dtest=SendMessageActivityTest Tests run: 13, Failures: 0, Errors: 0, Skipped: 0 — BUILD SUCCESS ``` Pre-fix failure remains as anchored in the PR body: `one entry per request message must be returned expected:<3> but was:<1>` at `SendMessageActivityTest.java:212` on `develop @ ff8f6f74c` + test only (2026-09-05, JDK 8). -- 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]
