yuluo-yx opened a new issue, #3068: URL: https://github.com/apache/rocketmq-dashboard/issues/3068
## Problem RocketMQ Studio can currently mute native alert notifications only with a one-time `startsAt` / `endsAt` interval. Regular operations such as daily backups, weekly broker maintenance, and recurring deployment windows must be recreated manually before every occurrence. Missing one of those manual silences can produce a predictable notification storm. ## Current behavior and reproduction 1. Open **Ops > System Alerts > Maintenance windows**. 2. Create a maintenance window. 3. Observe that the form and `POST /api/alert-silences` contract accept only one start and one end timestamp. 4. After `endsAt`, the database query permanently excludes the record (`starts_at <= now AND ends_at > now`); there is no recurrence schedule to evaluate. The current persistence model confirms this limitation: `rmq_alert_silence` contains only `starts_at` and `ends_at` for schedule timing. ## Proposed behavior Support bounded recurring alert silences while preserving existing one-time records: - recurrence modes: one time, daily, and weekly; - IANA time zone so recurring wall-clock times remain stable across DST transitions; - ISO weekday selection for weekly schedules; - a required recurrence end to prevent accidental indefinite notification suppression; - correct handling of windows that cross midnight; - UI and API visibility of the recurrence details; - schema migration for existing installations, defaulting old rows to one-time behavior. ## Acceptance criteria - Existing one-time silences behave unchanged. - Daily and weekly occurrences suppress only matching alert scopes and labels. - The active occurrence end is returned to alert delivery logic, including overlapping windows. - Invalid time zones, unbounded schedules, invalid weekdays, and overlong windows are rejected. - Browser-local time does not change the meaning of a wall-clock time entered for another IANA zone. - Fresh databases and upgraded databases both receive the recurrence columns and lookup index. - Backend, frontend, DST, schema, API contract, and UI flow tests cover the behavior. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
