apache / apache/rocketmq-dashboard

[Studio][Feature] Offer one-click skip accumulation when resetting consumer offsets

Open
#3,993 1 comment 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.