Skip to content

[CI] DateUtilsTests testTimezoneIds failing #72028

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
mark-vieira opened this issue Apr 21, 2021 · 14 comments · Fixed by #72052
Closed

[CI] DateUtilsTests testTimezoneIds failing #72028

mark-vieira opened this issue Apr 21, 2021 · 14 comments · Fixed by #72052
Labels
:Core/Infra/Core Core issues without another label Team:Core/Infra Meta label for core/infra team >test-failure Triaged test failures from CI

Comments

@mark-vieira
Copy link
Contributor

This reproduced locally for me on Java 17.

Build scan:
https://gradle-enterprise.elastic.co/s/zcqrrhsg4t4me/tests/:server:test/org.elasticsearch.common.time.DateUtilsTests/testTimezoneIds

Reproduction line:
./gradlew ':server:test' --tests "org.elasticsearch.common.time.DateUtilsTests.testTimezoneIds" -Dtests.seed=3CBDAF986A64CE13 -Dtests.locale=ms -Dtests.timezone=Africa/Luanda -Druntime.java=17

Applicable branches:
master

Reproduces locally?:
Yes

Failure history:
https://gradle-enterprise.elastic.co/scans/tests?tests.container=org.elasticsearch.common.time.DateUtilsTests&tests.test=testTimezoneIds

Failure excerpt:

java.lang.AssertionError: Australia/Currie
Expected: <36000000>
     but: was <39600000>

  at __randomizedtesting.SeedInfo.seed([3CBDAF986A64CE13:E058F20227C88735]:0)
  at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:18)
  at org.junit.Assert.assertThat(Assert.java:956)
  at org.elasticsearch.common.time.DateUtilsTests.testTimezoneIds(DateUtilsTests.java:50)
  at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-2)
  at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
  at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:568)
  at com.carrotsearch.randomizedtesting.RandomizedRunner.invoke(RandomizedRunner.java:1758)
  at com.carrotsearch.randomizedtesting.RandomizedRunner$8.evaluate(RandomizedRunner.java:946)
  at com.carrotsearch.randomizedtesting.RandomizedRunner$9.evaluate(RandomizedRunner.java:982)
  at com.carrotsearch.randomizedtesting.RandomizedRunner$10.evaluate(RandomizedRunner.java:996)
  at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
  at org.apache.lucene.util.TestRuleSetupTeardownChained$1.evaluate(TestRuleSetupTeardownChained.java:49)
  at org.apache.lucene.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:45)
  at org.apache.lucene.util.TestRuleThreadAndTestName$1.evaluate(TestRuleThreadAndTestName.java:48)
  at org.apache.lucene.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:64)
  at org.apache.lucene.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:47)
  at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
  at com.carrotsearch.randomizedtesting.ThreadLeakControl$StatementRunner.run(ThreadLeakControl.java:375)
  at com.carrotsearch.randomizedtesting.ThreadLeakControl.forkTimeoutingTask(ThreadLeakControl.java:824)
  at com.carrotsearch.randomizedtesting.ThreadLeakControl$3.evaluate(ThreadLeakControl.java:475)
  at com.carrotsearch.randomizedtesting.RandomizedRunner.runSingleTest(RandomizedRunner.java:955)
  at com.carrotsearch.randomizedtesting.RandomizedRunner$5.evaluate(RandomizedRunner.java:840)
  at com.carrotsearch.randomizedtesting.RandomizedRunner$6.evaluate(RandomizedRunner.java:891)
  at com.carrotsearch.randomizedtesting.RandomizedRunner$7.evaluate(RandomizedRunner.java:902)
  at org.apache.lucene.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:45)
  at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
  at org.apache.lucene.util.TestRuleStoreClassName$1.evaluate(TestRuleStoreClassName.java:41)
  at com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMethodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:40)
  at com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMethodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:40)
  at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
  at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
  at org.apache.lucene.util.TestRuleAssertionsRequired$1.evaluate(TestRuleAssertionsRequired.java:53)
  at org.apache.lucene.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:47)
  at org.apache.lucene.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:64)
  at org.apache.lucene.util.TestRuleIgnoreTestSuites$1.evaluate(TestRuleIgnoreTestSuites.java:54)
  at com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
  at com.carrotsearch.randomizedtesting.ThreadLeakControl$StatementRunner.run(ThreadLeakControl.java:375)
  at com.carrotsearch.randomizedtesting.ThreadLeakControl.lambda$forkTimeoutingTask$0(ThreadLeakControl.java:831)
  at java.lang.Thread.run(Thread.java:831)

@mark-vieira mark-vieira added :Core/Infra/Core Core issues without another label >test-failure Triaged test failures from CI labels Apr 21, 2021
@elasticmachine elasticmachine added the Team:Core/Infra Meta label for core/infra team label Apr 21, 2021
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-core-infra (Team:Core/Infra)

@rjernst
Copy link
Member

rjernst commented Apr 21, 2021

@pgomulka Can you take a look at this?

@pgomulka
Copy link
Contributor

the jdk17 ships with latest tzdata2021a
The Australia/Currie is not mentioned in a changelist. But if you read the NEWS file in the timezone db itself it mentiones there are some changes

 Changes to past timestamps

    Correct many pre-1986 transitions, fixing entries originally
    derived from Shanks.  The fixes include:
      - Australia: several 1917 through 1971 transitions
      - Bahamas: several 1941 through 1945 transitions
      - Bermuda: several 1917 through 1956 transitions
      - Belize: several 1942 through 1968 transitions
      - Ghana: several 1915 through 1956 transitions
      - Israel and Palestine: several 1940 through 1985 transitions
      - Kenya and adjacent: several 1908 through 1960 transitions
      - Nigeria and adjacent: correcting LMT in Lagos, and several 1905
        through 1919 transitions
      - Seychelles: the introduction of standard time in 1907, not 1906
      - Vanuatu: DST in 1973-1974, and a corrected 1984 transition
    (Thanks to P Chan.)

    Because of the Australia change, Australia/Currie (King Island) is
    no longer needed, as it is identical to Australia/Hobart for all
    timestamps since 1970 and was therefore created by mistake.
    Australia/Currie has been moved to the 'backward' file and its
    corrected data moved to the 'backzone' file.

The tzdata2021a is available in

16.0.1
11.0.11
8u291
7u301

https://www.oracle.com/java/technologies/tzdata-versions.html

latest 2.10-10 joda also has it, so joda update should fix.
I will create a PR.

Do we have jdk 16, 11, 8 and 7 also up to date? This might start failing on those JDKs once I update joda to latest

pgomulka added a commit to pgomulka/elasticsearch that referenced this issue Apr 21, 2021
Latest JDKs are shipping with timezone data 2021a which is also included
in latest joda. In order to have the timezone information consistent in
both joda and java.time joda dependnecy has to be updated

closes elastic#72028
@mark-vieira
Copy link
Contributor Author

Do we have jdk 16, 11, 8 and 7 also up to date?

They should be. I'm not sure for 11 and older but the initial GA release of 16 is still the only one that exists and is what we're using.

@pgomulka
Copy link
Contributor

yesterday they released https://www.oracle.com/java/technologies/javase/16-0-1-relnotes.html and it also contains latest timezone dbs

@mark-vieira
Copy link
Contributor Author

Yeah, I suspect that has not percolated through CI yet. Good catch.

@jtibshirani
Copy link
Contributor

I muted this while we wait for it to be fixed.

@jbaiera
Copy link
Member

jbaiera commented Apr 22, 2021

@BigPandaToo
Copy link
Contributor

@BigPandaToo
Copy link
Contributor

In 6.8 and 7.12

@davidkyle
Copy link
Member

The test has been muted on the 7.12 branch in 5fbfe9b

@mayya-sharipova
Copy link
Contributor

Multiple failures on this test on 6.8 branch as well. I've muted this test on 6.8 in 7d707f1

pgomulka added a commit that referenced this issue Apr 29, 2021
Latest JDKs are shipping with timezone data 2021a which is also included
in latest joda. In order to have the timezone information consistent in
both joda and java.time joda dependnecy has to be updated

closes #72028
@pgomulka
Copy link
Contributor

reopening until 7.x and 6.8 branches are fine

@pgomulka pgomulka reopened this Apr 29, 2021
pgomulka added a commit to pgomulka/elasticsearch that referenced this issue Apr 29, 2021
Latest JDKs are shipping with timezone data 2021a which is also included
in latest joda. In order to have the timezone information consistent in
both joda and java.time joda dependnecy has to be updated

closes elastic#72028
pgomulka added a commit that referenced this issue Apr 29, 2021
Latest JDKs are shipping with timezone data 2021a which is also included
in latest joda. In order to have the timezone information consistent in
both joda and java.time joda dependnecy has to be updated

closes #72028
pgomulka added a commit to pgomulka/elasticsearch that referenced this issue Apr 29, 2021
Latest JDKs are shipping with timezone data 2021a which is also included
in latest joda. In order to have the timezone information consistent in
both joda and java.time joda dependnecy has to be updated

closes elastic#72028
pgomulka added a commit to pgomulka/elasticsearch that referenced this issue Apr 29, 2021
Latest JDKs are shipping with timezone data 2021a which is also included
in latest joda. In order to have the timezone information consistent in
both joda and java.time joda dependnecy has to be updated

closes elastic#72028
pgomulka added a commit that referenced this issue Apr 29, 2021
Latest JDKs are shipping with timezone data 2021a which is also included
in latest joda. In order to have the timezone information consistent in
both joda and java.time joda dependnecy has to be updated

closes #72028
pgomulka added a commit that referenced this issue May 10, 2021
Latest JDKs are shipping with timezone data 2021a which is also included
in latest joda. In order to have the timezone information consistent in
both joda and java.time joda dependnecy has to be updated

closes #72028
@pgomulka
Copy link
Contributor

the update was backported

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
:Core/Infra/Core Core issues without another label Team:Core/Infra Meta label for core/infra team >test-failure Triaged test failures from CI
Projects
None yet
Development

Successfully merging a pull request may close this issue.

9 participants