docs(#5295): attribute RocketMQ 5 POP broker-ACK barrier to PR #5316 (zhang-arvin) - #5333
Merged
qqeasonchen merged 1 commit intoSep 7, 2026
Conversation
…pache#5316 (zhang-arvin) The barrier logic in UniIngressService.deliver (AtomicInteger + per-delivery decrement + late broker ack) was contributed by zhang-arvin in PR apache#5316 and landed on develop in apache#5330. The P2 fix comment immediately preceding the barrier block was preserved verbatim from the post-apache#5330 merge; this commit expands it to a three-line attribution block that references the originating PR (apache#5316) and the issue it fixes (apache#5295), so the next reader can trace the broker-ACK semantics back to the original contribution. No behavior change; the code path (and its semantics across LOAD_BALANCE, BROADCAST, MULTICAST, and the no-popCk path) is byte-identical to the apache#5330 merge of apache#5316. Original PR: apache#5316 Fixes apache#5295 Co-authored-by: zhang-arvin <arvin.zhang@htx-inc.com>
4 tasks
qqeasonchen
added a commit
that referenced
this pull request
Sep 7, 2026
…ier (PR #5316) (#5334) Companion to #5333: while #5333 expanded the inline `// P2 fix:` comment in `UniIngressService.deliver` to attribute the AtomicInteger broker-ACK barrier to PR #5316 (zhang-arvin, fixes #5295), this PR adds the same attribution at the **package** level by extending `package-info.java` with a paragraph that: - names the barrier's contract (AtomicInteger initialized to target count; broker ACK only on the last required delivery ACK) - lists the three distribution modes the barrier applies to (LOAD_BALANCE, BROADCAST, MULTICAST) - documents the no-popCk bypass (frames without `empopck` skip the barrier) - references PR #5316 and #5295 This pairs the source-level attribution (#5333) with package-level attribution, so a reader tracking RocketMQ 5.x POP semantics finds the barrier's contract right next to the `@Internal` marker the package already carries. **No behavior change** — documentation only. The barrier logic is byte-identical to the post-#5330 merge. **Files changed**: 1 file, +11 / -1 (Javadoc paragraph in package-info.java) **Author attribution** (commit metadata): - author: `zhang-arvin <arvin.zhang@htx-inc.com>` (date 2026-08-30, matching zhang-arvin's original #5316 commit) - committer: `qqeasonchen <qqeasonchen@gmail.com>` **Why a separate PR for a doc-only change?** The squash-merged #5330 (`c7de75b`) did not carry zhang-arvin in the co-author trailer, so the GitHub contributor graph did not see the contribution. The companion fix for #5325 (PR #5331) used the same pattern (a 0-diff PR with a `Co-authored-by:` trailer in the merge commit body) to record wangyusheng1985's credit; this PR and #5333 mirror that approach for #5316. Both attribution PRs (`#5333` and this one) carry the trailer in the PR body so GitHub preserves it in the squash-merge commit message. cc @zhang-arvin — please let me know if you'd prefer a different attribution form (e.g. moving the paragraph to a separate `BROKER_ACK_BARRIER.md` under `docs/`) and I'll adjust. Closes #5316 Fixes #5295 Co-authored-by: zhang-arvin <arvin.zhang@htx-inc.com>
qqeasonchen
added a commit
that referenced
this pull request
Sep 7, 2026
…both contributor trailers) (#5335) Reverts the four commits landed earlier to attribute / merge #5316 (zhang-arvin) and #5325 (wangyusheng1985) onto develop: - #5330 (c7de75b) — barrier fix for the RocketMQ 5 POP broker ACK (`fix(#5295): gate RocketMQ 5 POP broker ACK on distribution completion`) - #5331 (4c3e85b) — README Quick start anchors 0-diff - #5333 (2d2f98f) — source-level attribution Javadoc in `UniIngressService.java` - #5334 (e6e1247) — package-level doc in `ingress/package-info.java` After this revert lands, the develop tree returns to `2b0d7abb` (the pre-#5330 state), with the four changes unsuperseded. A follow-up PR will re-land the work as a single commit carrying BOTH contributor trailers (`Co-authored-by: zhang-arvin` for #5316 and `Co-authored-by: wangyusheng1985` for #5325) so both new contributors are credited in the GitHub contributor graph in one squash-merge. Why revert first? The current four commits split the attribution across multiple squash merges with inconsistent trailer handling. Consolidating into a single PR with both trailers in the body (which GitHub preserves in the squash-merge commit message) is the cleanest path to contributor graph credit for both zhang-arvin and wangyusheng1985.
qqeasonchen
added a commit
that referenced
this pull request
Sep 7, 2026
… (PR #5316) (#5336) Combined re-land of the four earlier #5330 / #5331 / #5333 / #5334 commits (all reverted by #5335) as a single commit on develop, with both contributor trailers preserved. **What this PR does** - Reapplies the RocketMQ 5 POP broker-ACK barrier from PR #5316 (zhang-arvin, fixes #5295) onto the post-#5301-Sub-PR-B/C `UniIngressService.deliver` structure. The barrier is the AtomicInteger-based pattern: per-frame counter initialized to the target count; the broker is ACKed only when the last required delivery ACKs. - Adds a 6-line source-level Javadoc in `UniIngressService.java` attributing the barrier block to PR #5316 and zhang-arvin. - Adds a package-level paragraph in `ingress/package-info.java` describing the barrier's contract (AtomicInteger counter, broker ACK on last delivery, LOAD_BALANCE / BROADCAST / MULTICAST semantics, no-popCk bypass). - Leaves README content unchanged: the 3 broken anchors originally targeted by #5325 (wangyusheng1985) were already removed by #5326 (docs: sync documentation with implementation status), so the README is already in its post-#5326 state. **Why a single commit instead of four** GitHub's contributor graph counts both `commit author` and `Co-authored-by:` trailers in the commit message. The earlier four-commit approach split the attribution across squash merges with inconsistent trailer handling. Consolidating into one PR with two trailers (zhang-arvin for #5316, wangyusheng1985 for #5325) preserves both contributors' graph credit in a single squash-merge commit. **Files changed**: 2 files - `eventmesh-runtime/src/main/java/org/apache/eventmesh/runtime/ingress/UniIngressService.java` (barrier block + attribution Javadoc) - `eventmesh-runtime/src/main/java/org/apache/eventmesh/runtime/ingress/package-info.java` (package-level barrier doc) **Closes #5316, Closes #5325, Fixes #5295** cc @zhang-arvin @wangyusheng1985 Co-authored-by: zhang-arvin <arvin.zhang@htx-inc.com> Co-authored-by: wangyusheng1985 <wangyusheng1985@users.noreply.github.com>
qqeasonchen
added a commit
that referenced
this pull request
Sep 7, 2026
…ier (PR #5316) (#5334) Companion to #5333: while #5333 expanded the inline `// P2 fix:` comment in `UniIngressService.deliver` to attribute the AtomicInteger broker-ACK barrier to PR #5316 (zhang-arvin, fixes #5295), this PR adds the same attribution at the **package** level by extending `package-info.java` with a paragraph that: - names the barrier's contract (AtomicInteger initialized to target count; broker ACK only on the last required delivery ACK) - lists the three distribution modes the barrier applies to (LOAD_BALANCE, BROADCAST, MULTICAST) - documents the no-popCk bypass (frames without `empopck` skip the barrier) - references PR #5316 and #5295 This pairs the source-level attribution (#5333) with package-level attribution, so a reader tracking RocketMQ 5.x POP semantics finds the barrier's contract right next to the `@Internal` marker the package already carries. **No behavior change** — documentation only. The barrier logic is byte-identical to the post-#5330 merge. **Files changed**: 1 file, +11 / -1 (Javadoc paragraph in package-info.java) **Author attribution** (commit metadata): - author: `zhang-arvin <arvin.zhang@htx-inc.com>` (date 2026-08-30, matching zhang-arvin's original #5316 commit) - committer: `qqeasonchen <qqeasonchen@gmail.com>` **Why a separate PR for a doc-only change?** The squash-merged #5330 (`c7de75b`) did not carry zhang-arvin in the co-author trailer, so the GitHub contributor graph did not see the contribution. The companion fix for #5325 (PR #5331) used the same pattern (a 0-diff PR with a `Co-authored-by:` trailer in the merge commit body) to record wangyusheng1985's credit; this PR and #5333 mirror that approach for #5316. Both attribution PRs (`#5333` and this one) carry the trailer in the PR body so GitHub preserves it in the squash-merge commit message. cc @zhang-arvin — please let me know if you'd prefer a different attribution form (e.g. moving the paragraph to a separate `BROKER_ACK_BARRIER.md` under `docs/`) and I'll adjust. Closes #5316 Fixes #5295 Co-authored-by: zhang-arvin <arvin.zhang@htx-inc.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a one-line attribution Javadoc in front of the RocketMQ 5 POP broker-ACK barrier block in
UniIngressService.deliver, expanding the single-line// P2 fix:comment (preserved from the #5330 merge of PR #5316) into a 3-line block that references the originating PR (#5316) and the issue it fixes (#5295). The author is recorded as zhang-arvin (arvin.zhang@htx-inc.com) and the commit message carries the matchingCo-authored-bytrailer so the next reader can trace the broker-ACK semantics back to the original contribution.No behavior change. The barrier logic (AtomicInteger + per-delivery decrement + late broker ack) is byte-identical to the #5330 merge of #5316; this PR only extends the immediately-preceding comment.
Why a separate PR for a comment-only change? The author/co-authored-by trailer on the squash-merged #5330 commit (
c7de75b) does not include zhang-arvin — the squash merger (Eason Chen <qqeasonchen@gmail.com>) replaced the original author in the squash. The companion fix for #5325 (PR #5331) used this same pattern (a 0-diff PR with aCo-authored-by: wangyusheng1985trailer) to record that contributor's credit; this PR mirrors that approach for #5316.Author attribution (commit metadata, not the GH UI):
zhang-arvin <arvin.zhang@htx-inc.com>qqeasonchen <qqeasonchen@gmail.com>Files changed: 1 file, +3 / -1 (comment block only)
eventmesh-runtime/src/main/java/org/apache/eventmesh/runtime/ingress/UniIngressService.javaReferences:
1cdca51f(fix/5295-pop-broker-ack-barrier)c7de75b)cc @zhang-arvin — please let me know if you'd prefer a different attribution form (e.g. moving the comment to the class-level Javadoc) and I'll adjust.