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
-
Show this thread
-
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
3 replies 0 retweets 12 likesShow 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
4 replies 0 retweets 9 likesShow 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
2 replies 0 retweets 11 likesShow 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
6 replies 1 retweet 21 likesShow 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
1 reply 0 retweets 19 likesShow 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
3 replies 0 retweets 13 likesShow this thread -
-
-
-
Replying to @WanderingArbor
it is it's a fucking unused feature that just ate however much of my life i was thinking it was one case, because i recently had to fix the *weekly* one ("on Sun at 8am") that was straight up broken and is used once but no it's zero
2 replies 1 retweet 12 likes - 9 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.