What if we had the Ci time zone be random? Sent from my iPhone
> On Mar 2, 2021, at 5:54 AM, Peter Vary <pv...@cloudera.com.invalid> wrote: > > Maybe separating the unit tests for this would not worth the effort. > > I was thinking we should run the tests like this: > > diff --git a/build.gradle b/build.gradle > index fd716e12..9b361ea7 100644 > --- a/build.gradle > +++ b/build.gradle > @@ -133,6 +133,9 @@ subprojects { > } > > test { > + if (project.hasProperty("isCI")) { > + systemProperty "user.timezone", "Asia/Colombo" > + } > def logDir = "${rootDir}/build/testlogs" > def logFile = "${logDir}/${project.name}.log" > mkdir("${logDir}") > > This would set the timezone to a specific non-UTC TZ on the CI server only. > Pros: > We know that at least once we run the tests with non-UTC timezone > By default every dev runs the tests in their own TZ, so we still test with > multiple TZs > Cons: > The TZ most often tested will change from UTC to the selected one > > For me it looks like a simple change which should be ok if we want to change > the TZ. > > Thanks, > Peter > >> On Mar 1, 2021, at 22:34, Owen O'Malley <owen.omal...@gmail.com> wrote: >> >> In ORC, the timezone tests vary the default timezone through multiple values >> using the Java APIs. (They do restore the initial value when the test >> exits.) :) >> >> .. Owen >> >> On Mon, Mar 1, 2021 at 9:25 PM Edgar Rodriguez >> <edgar.rodrig...@airbnb.com.invalid> wrote: >>> Hi folks, >>> >>> Thanks Peter for the quick fix! >>> >>> I do think it'd be a good idea to have this kind of coverage to some >>> extent. Usually, a workflow some users follow is to only run locally the >>> modules that they modify and rely on the CI to run the full check which >>> takes longer, which makes room for these issues to land in master while >>> eventually someone will find the broken test. However, I do agree that we >>> probably should not spend a large amount of time on this - ideally if this >>> is possible in CI that'd be great e.g. having two CI jobs, one for UTC and >>> another for a different TZ. >>> >>> Cheers, >>> >>> On Mon, Mar 1, 2021 at 2:52 PM Ryan Blue <rb...@netflix.com.invalid> wrote: >>>> I'm not sure it would be worth separating out the timezone tests to do >>>> this. I think we catch these problems pretty quickly with the number of >>>> users building in different zones. Is this something we want to spend time >>>> on? >>>> >>>> On Mon, Mar 1, 2021 at 10:29 AM Russell Spitzer >>>> <russell.spit...@gmail.com> wrote: >>>>> In the Spark Cassandra Connector we had a similar issue, we would >>>>> specifically spawn test JVM's with different default local time zones to >>>>> make sure we handled these use cases, I also would make our test dates >>>>> ones on gregorian calendar boundaries so being an hour off with result in >>>>> a timestamp that would end up actually being several days off so it was >>>>> clear. >>>>> >>>>> So maybe it makes sense to break out some timestamp specific tests and >>>>> have them run with different local timezones? Then you have a UTC, PST, >>>>> CEU or whatever test suites to run. If we scope this to just timestamp >>>>> specific tests it shouldn't be that much more expensive and I do think >>>>> the coverage is important. >>>>> >>>>> On Mon, Mar 1, 2021 at 12:25 PM Peter Vary <pv...@cloudera.com.invalid> >>>>> wrote: >>>>>> Hi Team, >>>>>> >>>>>> Last weekend I caused a little bit of stir by pushing changes which had >>>>>> a green run on CI, but was failing locally if the default TZ was >>>>>> different than UTC. >>>>>> >>>>>> Do we want to set the TZ of the CI tests to some random non-UTC TZ to >>>>>> catch these errors? >>>>>> >>>>>> Pros: >>>>>> We can catch tests which are only working in UTC >>>>>> >>>>>> Cons: >>>>>> I think the typical TZ is UTC in our target environments, so catching >>>>>> UTC problems might be more important >>>>>> >>>>>> I am interested in your thoughts about this. >>>>>> >>>>>> Thanks, >>>>>> Peter >>>> >>>> >>>> -- >>>> Ryan Blue >>>> Software Engineer >>>> Netflix >>> >>> >>> -- >>> Edgar R >