elasticsearch icon indicating copy to clipboard operation
elasticsearch copied to clipboard

[CI] RestSqlIT testNextPageWithDatetimeAndTimezoneParam failing

Open mark-vieira opened this issue 2 years ago • 5 comments

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)

mark-vieira avatar Oct 03 '23 18:10 mark-vieira

Pinging @elastic/es-ql (Team:QL)

elasticsearchmachine avatar Oct 03 '23 18:10 elasticsearchmachine

Pinging @elastic/es-analytics-geo (Team:Analytics)

elasticsearchmachine avatar Jan 02 '24 19:01 elasticsearchmachine

Happened again: https://gradle-enterprise.elastic.co/s/zgnueqhmg3pxo

jan-elastic avatar Jan 29 '24 12:01 jan-elastic

Pinging @elastic/es-analytical-engine (Team:Analytics)

elasticsearchmachine avatar Mar 19 '24 14:03 elasticsearchmachine

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.

craigtaverner avatar Apr 26 '24 16:04 craigtaverner