Hi,
the reason for this looks like it is because of the legacy timezone
database was removed and only CLDR was left over. It looks like this
test uses a timezone identifier which is no longer a supported label. It
looks like the AKST has a special test. See also
https://openjdk.org/jeps/252 <https://openjdk.org/jeps/252>
Do we do anything like that (setting the COMPAT java.locale.providers
system property? I grepped through the reposity and have seen nothing to
set the legacy sysprop.
If this still proves to be a bug we can open an issue - I will look into
this later (we need a testcase to show the issue that works with JDK 22
and the default JRE provider and fails with JDK-23). There could be 2
outcomes:
* CLDR database changed and JDK 23 fails due to new version of this
database
* There is a real bug in parsing code.
If we use the compat database for some reason we may need to fix this test.
See David Delabasse's mail on lucene-dev mailing list:
### Locale Data in JDK 23
JDK 23 [9] removes legacy locale data. As a consequence, setting
java.locale.providers to JRE or COMPAT has no effect.
Projects that are still using legacy locale data are highly encouraged
to switch to CLDR as soon as possible. Where that is infeasible, two
alternatives remain:
- Create custom formatters with patterns that mimic the legacy
behavior and use them everywhere where locale-sensitive data is
written or parsed.
- Implement a custom locale data provider [10].
For more details on that as well as on CLDR in the JDK in general,
please check JEP 252 [8] that has been recently rewritten to provide
better information and guidance.
[8] https://openjdk.org/jeps/252 <https://openjdk.org/jeps/252>
[9] https://bugs.openjdk.org/browse/JDK-8325568
<https://bugs.openjdk.org/browse/JDK-8325568>
[10]
https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/util/spi/LocaleServiceProvider.html
<https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/util/spi/LocaleServiceProvider.html>
Am 23.07.2024 um 21:15 schrieb Chris Hostetter:
Uwe: In the past 24 hours, 3 of your 64bit/hotspot/jdk-23-ea+33 jenkins
builds have all failed on these 2 (Locale related) tests (w/diff seeds
that don't reproduce for me on released jdks)
Perhaps there is a new Locale based date parsing issue in the latest EA
that you could look into and report to openJDK?
: Date: Tue, 23 Jul 2024 15:09:33 +0000 (UTC)
: From: Policeman Jenkins Server<jenk...@thetaphi.de>
: Reply-To:dev@solr.apache.org
: To:bui...@solr.apache.org
: Subject: [JENKINS-EA] Solr-main-Linux (64bit/hotspot/jdk-23-ea+33) - Build #
: 19448 - Unstable!
:
: Build:https://jenkins.thetaphi.de/job/Solr-main-Linux/19448/
: Java: 64bit/hotspot/jdk-23-ea+33 -XX:-UseCompressedOops -XX:+UseG1GC
:
: 2 tests failed.
: FAILED:
org.apache.solr.update.processor.ParsingFieldUpdateProcessorsTest.testAKSTZone
:
: Error Message:
: java.time.format.DateTimeParseException: Text 'Thu Nov 13 04:35:51 AKST 2008'
could not be parsed at index 20
:
: Stack Trace:
: java.time.format.DateTimeParseException: Text 'Thu Nov 13 04:35:51 AKST 2008'
could not be parsed at index 20
: at
__randomizedtesting.SeedInfo.seed([B84D991968485BB1:B8763855675AE20A]:0)
: at
java.base/java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:2108)
: at
java.base/java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:2010)
: at
org.apache.solr.update.processor.ParsingFieldUpdateProcessorsTest.testAKSTZone(ParsingFieldUpdateProcessorsTest.java:1079)
: at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
: at java.base/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.SystemPropertiesRestoreRule$1.evaluate(SystemPropertiesRestoreRule.java:80)
: at org.junit.rules.RunRules.evaluate(RunRules.java:20)
: at
org.apache.lucene.tests.util.TestRuleSetupTeardownChained$1.evaluate(TestRuleSetupTeardownChained.java:48)
: at
org.apache.lucene.tests.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:43)
: at
org.apache.lucene.tests.util.TestRuleThreadAndTestName$1.evaluate(TestRuleThreadAndTestName.java:45)
: at
org.apache.lucene.tests.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:60)
: at
org.apache.lucene.tests.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:44)
: at org.junit.rules.RunRules.evaluate(RunRules.java:20)
: 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
com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
: at
com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
: at
org.apache.lucene.tests.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:43)
: at
com.carrotsearch.randomizedtesting.rules.SystemPropertiesRestoreRule$1.evaluate(SystemPropertiesRestoreRule.java:80)
: at org.junit.rules.RunRules.evaluate(RunRules.java:20)
: at
org.apache.lucene.tests.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:43)
: at
com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
: at
org.apache.lucene.tests.util.TestRuleStoreClassName$1.evaluate(TestRuleStoreClassName.java:38)
: 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.tests.util.TestRuleAssertionsRequired$1.evaluate(TestRuleAssertionsRequired.java:53)
: at
org.apache.lucene.tests.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:43)
: at
org.apache.lucene.tests.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:44)
: at
org.apache.lucene.tests.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:60)
: at
org.apache.lucene.tests.util.TestRuleIgnoreTestSuites$1.evaluate(TestRuleIgnoreTestSuites.java:47)
: at org.junit.rules.RunRules.evaluate(RunRules.java:20)
: 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.base/java.lang.Thread.run(Thread.java:1575)
:
:
: FAILED:
org.apache.solr.update.processor.ParsingFieldUpdateProcessorsTest.testParseFrenchDate
:
: Error Message:
: java.lang.AssertionError
:
: Stack Trace:
: java.lang.AssertionError
: at
__randomizedtesting.SeedInfo.seed([B84D991968485BB1:F1D6EFB1A35A7380]:0)
: at org.junit.Assert.fail(Assert.java:87)
: at org.junit.Assert.assertTrue(Assert.java:42)
: at org.junit.Assert.assertTrue(Assert.java:53)
: at
org.apache.solr.update.processor.ParsingFieldUpdateProcessorsTest.testParseFrenchDate(ParsingFieldUpdateProcessorsTest.java:253)
: at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
: at java.base/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.SystemPropertiesRestoreRule$1.evaluate(SystemPropertiesRestoreRule.java:80)
: at org.junit.rules.RunRules.evaluate(RunRules.java:20)
: at
org.apache.lucene.tests.util.TestRuleSetupTeardownChained$1.evaluate(TestRuleSetupTeardownChained.java:48)
: at
org.apache.lucene.tests.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:43)
: at
org.apache.lucene.tests.util.TestRuleThreadAndTestName$1.evaluate(TestRuleThreadAndTestName.java:45)
: at
org.apache.lucene.tests.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:60)
: at
org.apache.lucene.tests.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:44)
: at org.junit.rules.RunRules.evaluate(RunRules.java:20)
: 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
com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
: at
com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
: at
org.apache.lucene.tests.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:43)
: at
com.carrotsearch.randomizedtesting.rules.SystemPropertiesRestoreRule$1.evaluate(SystemPropertiesRestoreRule.java:80)
: at org.junit.rules.RunRules.evaluate(RunRules.java:20)
: at
org.apache.lucene.tests.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:43)
: at
com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
: at
org.apache.lucene.tests.util.TestRuleStoreClassName$1.evaluate(TestRuleStoreClassName.java:38)
: 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.tests.util.TestRuleAssertionsRequired$1.evaluate(TestRuleAssertionsRequired.java:53)
: at
org.apache.lucene.tests.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:43)
: at
org.apache.lucene.tests.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:44)
: at
org.apache.lucene.tests.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:60)
: at
org.apache.lucene.tests.util.TestRuleIgnoreTestSuites$1.evaluate(TestRuleIgnoreTestSuites.java:47)
: at org.junit.rules.RunRules.evaluate(RunRules.java:20)
: 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.base/java.lang.Thread.run(Thread.java:1575)
:
-Hoss
http://www.lucidworks.com/
---------------------------------------------------------------------
To unsubscribe, e-mail:dev-unsubscr...@solr.apache.org
For additional commands, e-mail:dev-h...@solr.apache.org
--
Uwe Schindler
Achterdiek 19, D-28357 Bremen
https://www.thetaphi.de
eMail:u...@thetaphi.de