Recurring reports should be scheduled based on start_time rather than run_time

Bug #1892497 reported by Jason Boyer
8
This bug affects 1 person
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,folder,runner,start_time,email) should be able to prevent that issue without interfering with normal use.

I'll try to put a branch together soon.

Tags: reports
Revision history for this message
Jason Boyer (jboyer) wrote :

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.

Changed in evergreen:
status: New → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.