You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by GitBox <gi...@apache.org> on 2026/05/28 04:01:03 UTC

[GH] (rocketmq/feature/lite-exclusive-eviction-tombstone): Workflow run "Coverage" is working again!

The GitHub Actions job "Coverage" on rocketmq.git/feature/lite-exclusive-eviction-tombstone has succeeded.
Run started by GitHub user f1amingo (triggered by f1amingo).

Head commit for run:
b41513fab0ec1c2bc3f07bd46e54b1530d888ffe / Quan <zs...@foxmail.com>
Enforce Lite exclusive subscription eviction via server-side tombstones

Lite exclusive eviction relied on a fire-and-forget unsubscribe notification.
When the client missed it, the old consumer kept pulling, causing double
consumption.

Add a broker-local, in-memory tombstone keyed by (clientId, lmqName):
- Written synchronously on eviction, before client notification.
- Checked at the Lite pull entry; rejected pulls reuse "no message available", requiring no client change.
- Lifecycle-aligned with the subscription set: cleared on resubscription, full-sync reconciliation, and disconnect/timeout.
- Self-heals lost notifications by re-sending unsubscribe when a heartbeat still reports a tombstoned lmqName.

Tests: add ExclusiveEvictionTombstonesTest; extend registry and pull-path
tests to cover eviction, self-clear, reconciliation, and cleanup.

Report URL: https://github.com/apache/rocketmq/actions/runs/26552833097

With regards,
GitHub Actions via GitBox