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

Reply via email to