JDK-8174269 : Remove COMPAT locale data provider from JDK
  • Type: Enhancement
  • Component: core-libs
  • Sub-Component: java.util:i18n
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2017-02-09
  • Updated: 2024-10-23
  • Resolved: 2024-03-05
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 23
23 b13Fixed
Related Reports
Blocks :  
Blocks :  
CSR :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Sub Tasks
JDK-8325889 :  
JDK-8336921 :  
Description
There are two sets of localized resources in the current JDK, i.e., CLDR based one and the legacy COMPAT one. Removing the COMPAT will reduce the footprint, as well as the startup time. Here are a few things to take into account:

- BreakIterator/Collator: these are not provided by the CLDR locale provider. The existing FALLBACK provider (internal implementation) will be re-purposed to support these functions.

- Display names for time zones have some dependency on COMPAT, which may affect the CLDRConverter that generates names.
    - Old three-letter abbreviations
    - CLDR aliases deprecated zones such as `SystemV/YST9` -> `Pacific/Gambier` 
    - metaZones aliases inconsistency, e.g., Casablanca started negative dst in 2018, thus differs from Western Europe Time.

- SimpleDateFormat with Japanese Calendar: No "Gan-nen" resources are in CLDR. The FALLBACK provider will need to support it.

By removing `COMPAT` provider, specifying it with `java.locale.providers` system property will have no effect, as if `COMPAT` did not exist in the vallue.
Comments
Changeset: 809995b5 Author: Naoto Sato <naoto@openjdk.org> Date: 2024-03-05 19:32:29 +0000 URL: https://git.openjdk.org/jdk/commit/809995b526ea79e4fd9fd4f911bcce811f77eb89
05-03-2024

A pull request was submitted for review. URL: https://git.openjdk.org/jdk/pull/17991 Date: 2024-02-23 21:24:10 +0000
23-02-2024