apache / apache/rocketmq-dashboard
[Studio][Feature] Offer one-click skip accumulation when resetting consumer offsets
- Dominant language
- Java
- Stars
- 1.4k
- Forks
- 683
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 58
Description
1. Please describe the feature you are requesting.
The classic dashboard shipped a dedicated **skip accumulation** action (`POST /consumer/skipAccumulate.do`, `frontend-new/src/components/topic/SkipMessageAccumulateDialog.jsx` on the `master` branch) that resets a group's offsets for a topic to the latest position, so the group stops replaying an old backlog. Studio's consumer offset reset modal (`web/src/pages/instance/consumer.tsx`) only offers backward-looking presets (1/3/6/12 hours ago, 1/3 days ago) plus a manual time picker; jumping to the latest offsets requires the operator to hand-pick the current time.
2. Provide any additional detail on your proposed use case for this feature.
After a producer incident floods a topic, operators want the affected consumer group to skip the stale backlog and continue from the newest messages. A "skip accumulation (reset to latest)" preset in the existing reset modal sets the reset timestamp to now; the existing preview-and-confirm flow still shows the projected per-queue impact before anything is applied, which preserves Studio's safety-first reset design (the classic dialog applied the reset without such a preview).
3. Indicate the importance of this issue to you (blocker, must-have, should-have, nice-to-have).
should-have. Workaround today is manually picking the current time in the reset modal's time picker.
4. Expected behavior / acceptance criteria
- The consumer offset reset modal offers a "skip accumulation (reset to latest)" preset that sets the reset timestamp to now and clears any stale preview, exactly like the other quick presets.
- Applying the reset still requires the existing preview-and-confirm flow (including failed-queue blocking); the preset only pre-fills a timestamp and never applies anything by itself.
- No backend or API change: the reset/preview endpoints already resolve a timestamp to per-queue offsets, so a current timestamp produces the skip-to-latest behavior.
All of the above are covered by the tests listed in the PR.
5. Related PR
- #3994 (`feat(consumer): offer a skip-accumulation preset when resetting offsets`) implements this request.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start in web/src/pages/instance/consumer.tsx and inspect the existing reset presets, timestamp handling, preview clearing, and preview-and-confirm flow. Compare the requested preset with frontend-new/src/components/topic/SkipMessageAccumulateDialog.jsx and review the tests listed in PR #3994; done means the preset resets to now without applying changes and preserves failed-queue blocking.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 25/100