so the app at dayjob has an internal scheduler, one of the formats for which handles, like, "on the 12th at 8am" tests for it were failing intermittently, in daily CI job only i'm curious if there are any devs out there whose trauma runs deep enough they already know the story
-
-
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 -
-
-
Tz?
- End of conversation
New conversation -
-
-
dude - evidently shitty tests - testing datetimes across (presumptively) multiple hosts - NLP date parsing but I'm supposed to be able to guess _the_ thing that went wrong?
-
yes, actually
End of conversation
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.