[JSR310 M7 Review request] 8007572: Replace existing jdk timezone data at <java.home>/lib/zi with JSR310's tzdb.
xueming.shen at oracle.com
Thu Mar 14 02:51:45 UTC 2013
This should have been addessed via
JDK-8008348 *The leftover jdk/make/tools/javazic causes build problems
with hs25-b19 control job* <https://jbs.oracle.com/bugs/browse/JDK-8008348>
On 3/13/13 7:19 PM, Andrew Hughes wrote:
> ----- Original Message -----
>> The build part of this review looks good to me.
> Judging by this changeset, I gather javazic is no longer being run.
> If so, why is the source code being retained in the tree? It means
> that a build of OpenJDK against itself now fails. The new
> build system currently finds the javazic source code and tries to compile it,
> but fails because ZoneInfoFile.java has changed and Gen.java can no longer
> compile against it. Deleting the javazic source code fixes the
> Any reason not to commit this?
>> On 2013-02-07 19:31, Xueming Shen wrote:
>>> 8007572: Replace existing jdk timezone data at <java.home>/lib/zi
>>> JSR310's tzdb.
>>> JDK/JRE has been using the time zone data at <java.home>/lib/zi for
>>> j.u.TimeZone since JDK 1.4.0 . JSR310 has introduced in its own
>>> time zone data file/format <java.home>lib/tzdb.jar to provide the
>>> zone data support for its new java.time date-time classes.
>>> So we now have two different time zone data files in different
>>> (though from the same time zone data source, Olson tz data, now the
>>> Time Zone Datebase) to support two sets of date-time APIs
>>> date-time classes and java.time date-time classes) in one JDK/JRE,
>>> definitely will add the maintenance burden going forward, given the
>>> that we will have to update/distribute the latest tzdb data in
>>> periodically .
>>> Also the current way the time-zone data is being
>>> (at <java.home>/lib.zi, as individual file for each time zone) has
>>> a footprint concern for some configurations, especially the small
>>> environment. The JEP151  was originally submitted to propose to
>>> the time-zone data more efficiently into a single compressed file.
>>> JEP 151 has been withdrawn since, with the assumption that JDK 8
>>> replace the "zi" data with the much smaller JSR310 tzdb data file.
>>> As indicated in JEP151, current installed "zi" directory probably
>>> up 1M of disk-space with the 0.5k default file-system-block-size.
>>> with the proposed "store in one single compressed file" approach,
>>> it will
>>> still take about 250K space for all tzdb data in "zi" directory.
>>> tzdb data file however is much smaller. It is around 40K for
>>> and 100k uncompressed, for the same tz data.
>>> The proposed change is to share the JSR310 time zone data tzdb.jar
>>> with j.u.TimeZone by converting the JSR310 tzdb data completely
>>> to bits compatible) at runtime into the internal data structure
>>> j.u.TimeZone needs for its time zone data functionality/needs.
>>>  https://jbs.oracle.com/bugs/browse/JDK-4230123
>>>  http://openjdk.java.net/jeps/151
More information about the core-libs-dev