Skip to content

docs(#5295): attribute RocketMQ 5 POP broker-ACK barrier to PR #5316 (zhang-arvin) - #5333

Merged
qqeasonchen merged 1 commit into
apache:developfrom
qqeasonchen:fixup/5316-zhang-arvin-attribution
Sep 7, 2026
Merged

qqeasonchen merged 1 commit into
apache:developfrom
qqeasonchen:fixup/5316-zhang-arvin-attribution

Conversation

@qqeasonchen

Copy link
Copy Markdown
Contributor

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 matching Co-authored-by trailer 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 a Co-authored-by: wangyusheng1985 trailer) to record that contributor's credit; this PR mirrors that approach for #5316.

Author attribution (commit metadata, not the GH UI):

Files changed: 1 file, +3 / -1 (comment block only)

  • eventmesh-runtime/src/main/java/org/apache/eventmesh/runtime/ingress/UniIngressService.java

References:

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.

…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>
@qqeasonchen
qqeasonchen merged commit 2d2f98f into apache:develop Sep 7, 2026
1 check passed
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants