Recurring reports should be scheduled based on start_time rather than run_time
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Evergreen |
Invalid
|
Undecided
|
Unassigned |
Bug Description
Affects all current Eg versions
If the reporter is stopped during the time that reports are scheduled all "late" reports will be run when it is restarted; that's fine and as expected. What might not be expected is that any recurring reports that were skipped during that period will now be set to recur based on this new run time rather than their initially scheduled time.
For example, if the first of the month falls on a long weekend and you perform an upgrade that happens to take clark out of commission into the second, all of the monthly reports that are normally scheduled to run on the first of the month will now be permanently shifted to always run on the second, and if they were scheduled to run early in the morning they're now going to run whenever they happened to run throughout the day.
Additionally, if a problem causes clark to quit mid-report and it has to be restarted, it's possible to end up with duplicated recurring reports running at slightly different times. If all recurring reports are scheduled based on start_time and recurrence interval a unique key on (report,
I'll try to put a branch together soon.
So, in addition to getting run_time and start_time backward in the description, I find that it's already doing what I want so... invalid, here we come.
I may explore the benefit of that unique constraint in another LP however.