Description
When maintenance tasks accumulate in the daemon queue, for example after a long-running sync, there does not appear to be any way to cancel individual queued tasks or clear the pending queue from the Web UI.
The active task can be stopped, but the queued tasks remain and are executed one after another afterwards.
Observed behavior
In my case, the queue accumulated 14 maintenance tasks, including:
maintenance report
maintenance scrub
maintenance sync
maintenance up
The active sync had already been running for several days and eventually ended in an error. Despite stopping the active task, the queued maintenance jobs remained scheduled.
Impact
Once the active task stops, the daemon continues executing stale queued jobs.
This can cause:
- unnecessary disk spin-ups;
- repeated reads of the entire array;
- unnecessary parity/scrub work;
- additional I/O contention;
- significantly longer recovery time after a failed or interrupted task;
- repeated notifications for obsolete maintenance requests.
This is especially problematic for large arrays where a single sync or scrub can take many hours or days.
Expected behavior
The Tasks UI should provide a way to:
- cancel one selected queued task
- optionally clear all queued tasks
A queue deduplication mechanism could also help prevent multiple pending sync, scrub, report, or up tasks from accumulating when an equivalent task is already queued or running.
Environment
- SnapRAID Daemon: 1.14
- SnapRAID CLI: 14.9
- Linux
Description
When maintenance tasks accumulate in the daemon queue, for example after a long-running
sync, there does not appear to be any way to cancel individual queued tasks or clear the pending queue from the Web UI.The active task can be stopped, but the queued tasks remain and are executed one after another afterwards.
Observed behavior
In my case, the queue accumulated 14 maintenance tasks, including:
maintenance reportmaintenance scrubmaintenance syncmaintenance upThe active
synchad already been running for several days and eventually ended in an error. Despite stopping the active task, the queued maintenance jobs remained scheduled.Impact
Once the active task stops, the daemon continues executing stale queued jobs.
This can cause:
This is especially problematic for large arrays where a single
syncorscrubcan take many hours or days.Expected behavior
The Tasks UI should provide a way to:
A queue deduplication mechanism could also help prevent multiple pending
sync,scrub,report, oruptasks from accumulating when an equivalent task is already queued or running.Environment