i'll throw out some more hints while i wait, i suppose the test suite was taking a pretty spotty approach heavily keyed to the present date and time reworking it to be somewhat more deterministic made the tests fail more consistently, but still only in CI
-
-
Show this thread
-
we have several people correct on the general tip of time zones, but we could go much deeper another hint: the increased determinism in the test suite rebuild made it hit every day of the year, but it still used the current time for the "8am" part of the schedule specification
Show this thread -
last hint: against all appearance and expectation, the unexpected behavior was not a failure of the test suite, it was actually a success of the test suite
Show this thread -
okay, so here we go every day has a 2 AM, right? wrong. on, for example, March 14th, 2021, 2 AM Eastern time *will not exist* so if you specified "on the 14th at 2am", the scheduled job would *correctly* not run in March of 2021
Show this thread -
which is to say, this feature is *architecturally* broken by a 5-dimensional corner case that a sufficiently thorough test suite will catch in our case, it showed up because the CI job was run at 6 AM, which the UTC to Eastern offset from server to application converted to 2 AM
Show this thread -
oh, for a little extra cherry on top can you guess how many cases of this specific type of schedule being used exist in the app, outside of the test suite go on i bet you can guess if you try
Show this thread
End of conversation
New conversation -
-
-
Wait, that's an internal scheduler, of the program, that uses a format like that? Not the display format, but that's how the app tracks it for itself? Am I understanding this right or is my reading comprehension broke again
-
you are understanding it right, that is how the specification of when a job will be run by the scheduler is made
- 8 more replies
New conversation -
-
-
$5 on "CI uses MM/DD and everything else uses DD/MM, or t'other way 'round"
-
Timezones and/or locales was also my instant bet as a tired sysadmin.
- 3 more replies
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.