[CI] RestSqlIT testNextPageWithDatetimeAndTimezoneParam failing
This reproduces for me but looks to be specific to this timezone so it might be related to the Java 21 upgrade and new tz-data. This didn't fail when using Java 20.
This only reproduced on the 7.17 branch for me for some reason. Perhaps this has already been fixed, but just not backported?
Build scan: https://gradle-enterprise.elastic.co/s/sruwsgp2ght7o/tests/:x-pack:plugin:sql:qa:server:multi-cluster-with-security:javaRestTest/org.elasticsearch.xpack.sql.qa.multi_cluster_with_security.RestSqlIT/testNextPageWithDatetimeAndTimezoneParam Reproduction line:
./gradlew ':x-pack:plugin:sql:qa:server:multi-cluster-with-security:javaRestTest' --tests "org.elasticsearch.xpack.sql.qa.multi_cluster_with_security.RestSqlIT.testNextPageWithDatetimeAndTimezoneParam" -Dtests.seed=F7D2F8E063E6D532 -Dtests.locale=sr-RS -Dtests.timezone=America/Coral_Harbour -Druntime.java=21
Applicable branches: 7.17
Reproduces locally?: Yes
Failure history: https://gradle-enterprise.elastic.co/scans/tests?tests.container=org.elasticsearch.xpack.sql.qa.multi_cluster_with_security.RestSqlIT&tests.test=testNextPageWithDatetimeAndTimezoneParam Failure excerpt:
java.lang.AssertionError: Response does not match:
columns:
0:
name: same [tz]
type: same [integer]
rows:
0:
0: expected Integer [-300] but was Integer [-240]
1:
0: expected Integer [-300] but was Integer [-240]
at __randomizedtesting.SeedInfo.seed([F7D2F8E063E6D532:FEB2ABC6FAAB85A3]:0)
at org.junit.Assert.fail(Assert.java:88)
at org.elasticsearch.xpack.sql.qa.rest.RestSqlTestCase.assertResponse(RestSqlTestCase.java:1241)
at org.elasticsearch.xpack.sql.qa.rest.RestSqlTestCase.testNextPageWithDatetimeAndTimezoneParam(RestSqlTestCase.java:267)
at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.lang.reflect.Method.invoke(Method.java:580)
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:390)
at com.carrotsearch.randomizedtesting.ThreadLeakControl.forkTimeoutingTask(ThreadLeakControl.java:843)
at com.carrotsearch.randomizedtesting.ThreadLeakControl$3.evaluate(ThreadLeakControl.java:490)
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:390)
at com.carrotsearch.randomizedtesting.ThreadLeakControl.lambda$forkTimeoutingTask$0(ThreadLeakControl.java:850)
at java.lang.Thread.run(Thread.java:1583)
Pinging @elastic/es-ql (Team:QL)
Pinging @elastic/es-analytics-geo (Team:Analytics)
Happened again: https://gradle-enterprise.elastic.co/s/zgnueqhmg3pxo
Pinging @elastic/es-analytical-engine (Team:Analytics)
I was unable to reproduce this with either the TZ and seed reported by Mark last year, or the TZ and seed reported by Jan in January this year, and I tested on both main (8.15) and 7.17 for all supported JDK versions 17, 18, 19, 20, 21 and 22.
The two commands tested:
./gradlew ':x-pack:plugin:sql:qa:server:multi-cluster-with-security:javaRestTest' --tests "org.elasticsearch.xpack.sql.qa.multi_cluster_with_security.RestSqlIT.testNextPageWithDatetimeAndTimezoneParam" -Dtests.seed=F7D2F8E063E6D532 -Dtests.locale=sr-RS -Dtests.timezone=America/Coral_Harbour -Druntime.java=21
and
./gradlew ':x-pack:plugin:sql:qa:server:multi-cluster-with-security:javaRestTest' --tests "org.elasticsearch.xpack.sql.qa.multi_cluster_with_security.RestSqlIT.testNextPageWithDatetimeAndTimezoneParam" -Dtests.seed=60B9026D6B86E9CE -Dtests.locale=es-US -Dtests.timezone=Africa/Dakar -Druntime.java=21
With the JDK version changed to test each of the supported JDKs.