RFR: 8334015: Add Support for UUID Version 7 (UUIDv7) defined in RFC 9562 [v23]

ExE Boss duke at openjdk.org
Wed Nov 19 12:44:27 UTC 2025


On Mon, 10 Nov 2025 08:03:55 GMT, Jaikiran Pai <jpai at openjdk.org> wrote:

>> test/jdk/java/util/UUID/UUIDTest.java line 154:
>> 
>>> 152:         long timestamp = System.currentTimeMillis();
>>> 153:         try {
>>> 154:             UUID u = UUID.ofEpochMillis(timestamp);
>> 
>> Note that this test will start failing in 20889 [HE].
>> 
>> [HE]: https://en.wikipedia.org/wiki/Holocene_calendar
>
> Hello @ExE-Boss, what would be the failure in that case? I had a very brief look at the linked page and I couldn't relate how that impacts the timestamp based `UUID.ofEpochMillis(...)`.

`UUID::ofEpochMillis` throws `IllegalArgumentException` when the timestamp doesn’t fit within 48 bits, and +10889-08-02T05:31:50.656Z[^1] needs 49 bits to represent, which is tested on line 183:
https://github.com/openjdk/jdk/blob/27613619899658cdf17c154839606b111e6cf8f0/test/jdk/java/util/UUID/UUIDTest.java#L180-L185

[^1]: At the start of August 20889 [HE].

[HE]: https://en.wikipedia.org/wiki/Holocene_calendar

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/25303#discussion_r2541831537


More information about the core-libs-dev mailing list