You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by Rick Hillegas <ri...@gmail.com> on 2023/01/05 17:30:14 UTC

Re: [External] : Re: JDK 20 Rampdown Phase 1 & Valhalla LW4 Early-Access builds

Hi David,

Derby now builds and tests cleanly after the changes introduced by Open 
JDK build 20-ea+27-2213. Our experience is described at 
https://issues.apache.org/jira/browse/DERBY-7149.

Thanks,
-Rick

On 12/21/22 2:27 AM, David Delabassee wrote:
> Hi Rick,
>
> There's now a default serialization filter for JMX since 20-EA build 
> 22 (1), see release notes (2) and test (3). To confirm this is indeed 
> the issue, you can either relax the filter to allow your target 
> classes to be deserialized, or disable the filter.
>
> (1) https://bugs.openjdk.org/browse/JDK-8283093
> (2) https://bugs.openjdk.org/browse/JDK-8295938
> (3) 
> https://github.com/openjdk/jdk20/commit/628820f47ef9c9ad3cc62e68db9c4dbc7e659154
>
> Thanks,
>
> --David
>
> On 21/12/2022 02:36, Rick Hillegas wrote:
>> Hi David,
>>
>> Open JDK build 20-ea+27-2213 introduces another problem. I see the 
>> following error when unmarshalling an object on behalf of an MBean:
>>
>>   java.io.InvalidClassException: filter status: REJECTED
>>
>> I do not see this problem under build 19+36-2238.
>>
>> Can you point me at the experts who can advise me on how to address 
>> this issue?
>>
>> Thanks,
>> -Rick
>>
>>
>> On 12/12/22 2:07 AM, David Delabassee wrote:
>>> Welcome to the final OpenJDK Quality Outreach update for 2022!
>>>
>>> JDK 20, scheduled for General Availability on March 21 2023, is now 
>>> in Rampdown Phase One (RDP1) [1]. At this point, the overall JDK 20 
>>> [2] feature set is frozen (see below the final list of JEPs 
>>> integrated into JDK 20) and only low-risk enhancements might still 
>>> be considered. The coming weeks should be used to identify and 
>>> resolve as many issues as possible, i.e. before JDK 20 enters the 
>>> Release Candidates phase in early February 2023.
>>>
>>>
>>> ## JDK 20 Early-Access builds
>>>
>>> The latest Early-Access (builds 27) are available [2] with the 
>>> Release Notes here [3]. Those builds are provided under the GNU GPL 
>>> v2, with the Classpath Exception.
>>>
>>> ### JEPs integrated into JDK 20:
>>>
>>> JEP 429: Scoped Values (Incubator)
>>> JEP 432: Record Patterns (2nd Preview)
>>> JEP 433: Pattern Matching for switch (4th Preview)
>>> JEP 434: Foreign Function & Memory API (2nd Preview)
>>> JEP 436: Virtual Threads (2nd Preview)
>>> JEP 437: Structured Concurrency (2nd Incubator)
>>>
>>> [1] 
>>> https://mail.openjdk.org/pipermail/jdk-dev/2022-December/007233.html
>>> [2] 
>>> https://urldefense.com/v3/__https://jdk.java.net/20/__;!!ACWV5N9M2RV99hQ!OqdzOerVCrwa1pDUQisIwaR0A2LNK9SOsJuYn2zDbXx3jTrmzCEkj-23LGHp_Oveh2PZXokzY1AdUBFBB1uoTyiVEIUD$ 
>>> [3] 
>>> https://urldefense.com/v3/__https://jdk.java.net/20/release-notes__;!!ACWV5N9M2RV99hQ!OqdzOerVCrwa1pDUQisIwaR0A2LNK9SOsJuYn2zDbXx3jTrmzCEkj-23LGHp_Oveh2PZXokzY1AdUBFBB1uoTzqxD5c4$ 
>>>
>>>
>>> ### Changes in recent JDK 20 builds that may be of interest:
>>>
>>> #### Build 27:
>>> - JDK-8297794: Deprecate JMX Management Applets for Removal
>>> - JDK-8297118: Change IncompatibleClassChangeError to MatchException 
>>> for exhaustive switch statements and switch expressions
>>> - JDK-8294047: HttpResponseInputStream swallows interrupts
>>> - JDK-8281236: (D)TLS key exchange named groups
>>> - JDK-8280798: com.sun.jdi.ObjectReference::setValue spec should 
>>> prohibit any final field modification
>>> - JDK-8295350: JFR: Add stop methods for recording streams
>>> - JDK-8295044: Implementation of Foreign Function and Memory API 
>>> (2nd Preview)
>>> - JDK-8296896: Change virtual Thread.yield to use external submit
>>> - JDK-8297804: (tz) Update Timezone Data to 2022g
>>> - JDK-8295803: Console should be usable in jshell and other 
>>> environments
>>> - JDK-8286666: Implementation of Scoped Values (Incubator)
>>> - JDK-8296672: Implementation of Virtual Threads (2nd Preview)
>>>
>>> #### Build 26:
>>> - JDK-8297276: Remove thread text from Subject.current
>>> - JDK-8297030: Reduce Default Keep-Alive Timeout Value for httpclient
>>> - JDK-8247645: ChaCha20 Intrinsics
>>>
>>> #### Build 25:
>>> - JDK-8296472: Remove ObjectLocker around 
>>> appendToClassPathForInstrumentation call
>>> - JDK-8290313: Produce warning when user specified java.io.tmpdir 
>>> directory doesn't exist
>>> - JDK-8288717: Add a means to close idle connections in HTTP/2 
>>> connection pool
>>> - JDK-8288047: Accelerate Poly1305 on x86_64 using AVX512 instructions
>>> - JDK-8059632: Method reference compilation uses incorrect 
>>> qualifying type
>>> - JDK-8297161: Add additional Service Attributes to Standard 
>>> Algorithm Names guide
>>> - JDK-8294073: Performance improvement for message digest 
>>> implementations
>>>
>>> #### Build 24:
>>> - JDK-8294731: Improve multiplicative inverse for secp256r1 
>>> implementation
>>> - JDK-8296715: CLDR v42 update for tzdata 2022f
>>> - JDK-8296958: [JVMCI] add API for retrieving ConstantValue attributes
>>>
>>> #### Build 23:
>>> - JDK-8296226: Add constructors (String,Throwable) and (Throwable) 
>>> to InvalidParameterException
>>> - JDK-8295673: Deprecate and disable legacy parallel class loading 
>>> workaround for non-parallel-capable class loaders
>>> - JDK-8294241: Deprecate URL public constructors
>>> - JDK-8289689: (fs) Re-examine the need for normalization to Unicode 
>>> Normalization Format D (macOS)
>>> - JDK-8279164: Disable TLS_ECDH_* cipher suites
>>> - JDK-8178355: IdentityHashMap uses identity-based comparison for 
>>> values everywhere except remove(K,V) and replace(K,V,V)
>>> - JDK-8296108: (tz) Update Timezone Data to 2022f
>>>
>>>
>>> ## Heads-up - JDK 21: First Early-Access Builds
>>>
>>> When JDK 20 entered RDP1 [4], the JDK mainline [5] was (a) forked 
>>> into a JDK 20 stabilization repository [6], and (b) set to JDK 21. 
>>> As a consequence, the first JDK 21 Early-Access builds have been 
>>> published [7].
>>>
>>> [4] 
>>> https://mail.openjdk.org/pipermail/jdk-dev/2022-December/007233.html
>>> [5] 
>>> https://urldefense.com/v3/__https://github.com/openjdk/jdk__;!!ACWV5N9M2RV99hQ!OqdzOerVCrwa1pDUQisIwaR0A2LNK9SOsJuYn2zDbXx3jTrmzCEkj-23LGHp_Oveh2PZXokzY1AdUBFBB1uoTwY8djft$ 
>>> [6] 
>>> https://urldefense.com/v3/__https://github.com/openjdk/jdk20__;!!ACWV5N9M2RV99hQ!OqdzOerVCrwa1pDUQisIwaR0A2LNK9SOsJuYn2zDbXx3jTrmzCEkj-23LGHp_Oveh2PZXokzY1AdUBFBB1uoT4oRdAUK$ 
>>> [7] 
>>> https://urldefense.com/v3/__https://jdk.java.net/21/__;!!ACWV5N9M2RV99hQ!OqdzOerVCrwa1pDUQisIwaR0A2LNK9SOsJuYn2zDbXx3jTrmzCEkj-23LGHp_Oveh2PZXokzY1AdUBFBB1uoT5lq0Ja0$ 
>>>
>>>
>>> ## Heads-up - Valhalla: LW4 Early-Access Builds
>>>
>>> Valhalla LW4 early-access builds have been published [8], those 
>>> builds are primarily focused on implementing the Value Objects JEP 
>>> draft [9]. For additional details on those EA builds, make sure to 
>>> read these LW4 release notes [10]. For a more hands-on introduction 
>>> to Value Object, you can watch the latest JEP Café: Java Value 
>>> Objects in Action [11]. Interested developers are encouraged to 
>>> explore the performance and migration impact of value objects on 
>>> their applications, and to provide feedback to the valhalla-dev [12] 
>>> mailing list.
>>>
>>> [8] 
>>> https://urldefense.com/v3/__https://jdk.java.net/valhalla/__;!!ACWV5N9M2RV99hQ!OqdzOerVCrwa1pDUQisIwaR0A2LNK9SOsJuYn2zDbXx3jTrmzCEkj-23LGHp_Oveh2PZXokzY1AdUBFBB1uoTyVj13HB$ 
>>> [9] https://openjdk.org/jeps/8277163
>>> [10] https://openjdk.org/projects/valhalla/early-access
>>> [11] 
>>> https://urldefense.com/v3/__https://inside.java/2022/12/06/jepcafe15/__;!!ACWV5N9M2RV99hQ!OqdzOerVCrwa1pDUQisIwaR0A2LNK9SOsJuYn2zDbXx3jTrmzCEkj-23LGHp_Oveh2PZXokzY1AdUBFBB1uoTxkGx8mB$ 
>>> [12] https://mail.openjdk.org/pipermail/valhalla-dev/
>>>
>>>
>>> ## Heads-up - Generational ZGC: New Early-Access Builds
>>>
>>> New Generational ZGC [13] Early-Access Builds have been updated 
>>> recently [14]. These EA builds are provided under the GNU GPL v2, 
>>> with the Classpath Exception.
>>>
>>> ### Changes include :
>>> - Rebased on top of jdk-20+21
>>> - Added macOS builds
>>> - Heuristics rewriten to deal with a problematic case where 
>>> Generational ZGC spent too much focus on doing young generation 
>>> collection when it’s more beneficial to spend resources to collect 
>>> the old generation.
>>> - GC logging rewriten to easier see what log lines belong to what 
>>> collection / generation, plus many additional changes that should 
>>> make it easier to read and understand GC logs
>>> - Barrier elision enhanced to remove barriers from array access of 
>>> newly allocated arrays
>>> - Enhanced the generated hs_err crash text file
>>> - Fixed and unified code quality and style
>>>
>>> For more information, make sure to watch this Inside Java Newscast 
>>> [15] dedicated on Generational ZGC. Feedback should be sent to the 
>>> zgc-dev mailing list [16].
>>>
>>> [13] 
>>> https://urldefense.com/v3/__https://jdk.java.net/genzgc/__;!!ACWV5N9M2RV99hQ!OqdzOerVCrwa1pDUQisIwaR0A2LNK9SOsJuYn2zDbXx3jTrmzCEkj-23LGHp_Oveh2PZXokzY1AdUBFBB1uoT7oZBrZj$ 
>>> [14] https://bugs.openjdk.org/browse/JDK-8272979
>>> [15] 
>>> https://urldefense.com/v3/__https://inside.java/2022/11/17/insidejava-newscast-037/__;!!ACWV5N9M2RV99hQ!OqdzOerVCrwa1pDUQisIwaR0A2LNK9SOsJuYn2zDbXx3jTrmzCEkj-23LGHp_Oveh2PZXokzY1AdUBFBB1uoT6cWz8M1$ 
>>> [16] https://mail.openjdk.org/pipermail/zgc-dev/
>>>
>>>
>>> ## JavaFX 20 Early-Access Builds
>>>
>>> These are early access builds of the JavaFX 20 Runtime, built from 
>>> openjdk/jfx [17]. They allow JavaFX application developers to build 
>>> and test their applications with JavaFX 20 on JDK 20. The latest 
>>> builds 10 (2022/12/5) are now available [18] with javadoc here [19]. 
>>> Feedback should be forwarded to the openjfx-dev [19] mailing list. 
>>> For more details, you might want to listen this Inside Java podcast 
>>> episode [20].
>>>
>>> [17] 
>>> https://urldefense.com/v3/__https://github.com/openjdk/jfx__;!!ACWV5N9M2RV99hQ!OqdzOerVCrwa1pDUQisIwaR0A2LNK9SOsJuYn2zDbXx3jTrmzCEkj-23LGHp_Oveh2PZXokzY1AdUBFBB1uoT-yh--jZ$ 
>>> [18] 
>>> https://urldefense.com/v3/__https://jdk.java.net/javafx20/__;!!ACWV5N9M2RV99hQ!OqdzOerVCrwa1pDUQisIwaR0A2LNK9SOsJuYn2zDbXx3jTrmzCEkj-23LGHp_Oveh2PZXokzY1AdUBFBB1uoTyYpix7u$ 
>>> [19] 
>>> https://urldefense.com/v3/__https://download.java.net/java/early_access/javafx20/docs/api/overview-summary.html__;!!ACWV5N9M2RV99hQ!OqdzOerVCrwa1pDUQisIwaR0A2LNK9SOsJuYn2zDbXx3jTrmzCEkj-23LGHp_Oveh2PZXokzY1AdUBFBB1uoT8FuoAe-$ 
>>> [20] http://mail.openjdk.org/mailman/listinfo/openjfx-dev
>>> [21] 
>>> https://urldefense.com/v3/__https://inside.java/2022/11/18/podcast-027/__;!!ACWV5N9M2RV99hQ!OqdzOerVCrwa1pDUQisIwaR0A2LNK9SOsJuYn2zDbXx3jTrmzCEkj-23LGHp_Oveh2PZXokzY1AdUBFBB1uoT9aDyolY$ 
>>>
>>>
>>> ## Topics of Interest:
>>>
>>> - Building and Deploying Java Client Desktop Applications with JDK 
>>> 17 and Beyond
>>> https://urldefense.com/v3/__https://inside.java/2022/12/08/building-java-desktop-app/__;!!ACWV5N9M2RV99hQ!OqdzOerVCrwa1pDUQisIwaR0A2LNK9SOsJuYn2zDbXx3jTrmzCEkj-23LGHp_Oveh2PZXokzY1AdUBFBB1uoT-TlbGxG$ 
>>>
>>> - Java Value Objects in Action with Valhalla - JEP Café #15
>>> https://urldefense.com/v3/__https://inside.java/2022/12/06/jepcafe15/__;!!ACWV5N9M2RV99hQ!OqdzOerVCrwa1pDUQisIwaR0A2LNK9SOsJuYn2zDbXx3jTrmzCEkj-23LGHp_Oveh2PZXokzY1AdUBFBB1uoTxkGx8mB$ 
>>>
>>> - Java 20 - Sneak Peek on the Foreign Function & Memory API
>>> https://urldefense.com/v3/__https://minborgsjavapot.blogspot.com/2022/12/java-20-sneak-peek-on-panama-ffm-api.html__;!!ACWV5N9M2RV99hQ!OqdzOerVCrwa1pDUQisIwaR0A2LNK9SOsJuYn2zDbXx3jTrmzCEkj-23LGHp_Oveh2PZXokzY1AdUBFBB1uoT0juN5fC$ 
>>>
>>>
>>> - A Glimpse at Java 20 - Pattern Matching, Concurrent Programming 
>>> and Valhalla - Inside Java Newscast #38
>>> https://urldefense.com/v3/__https://inside.java/2022/12/01/newscast-38/__;!!ACWV5N9M2RV99hQ!OqdzOerVCrwa1pDUQisIwaR0A2LNK9SOsJuYn2zDbXx3jTrmzCEkj-23LGHp_Oveh2PZXokzY1AdUBFBB1uoT2ukiqgc$ 
>>>
>>> - “JavaFX” - Inside Java Podcast #27
>>> https://urldefense.com/v3/__https://inside.java/2022/11/18/podcast-027/__;!!ACWV5N9M2RV99hQ!OqdzOerVCrwa1pDUQisIwaR0A2LNK9SOsJuYn2zDbXx3jTrmzCEkj-23LGHp_Oveh2PZXokzY1AdUBFBB1uoT9aDyolY$ 
>>>
>>> - Generational ZGC - Inside Java Newscast #37
>>> https://urldefense.com/v3/__https://inside.java/2022/11/17/insidejava-newscast-037/__;!!ACWV5N9M2RV99hQ!OqdzOerVCrwa1pDUQisIwaR0A2LNK9SOsJuYn2zDbXx3jTrmzCEkj-23LGHp_Oveh2PZXokzY1AdUBFBB1uoT6cWz8M1$ 
>>>
>>> - Java 17 to 20 Pattern Matching full tutorial with Records, 
>>> Instanceof and Switch - JEP Café #14
>>> https://urldefense.com/v3/__https://inside.java/2022/11/08/jepcafe14/__;!!ACWV5N9M2RV99hQ!OqdzOerVCrwa1pDUQisIwaR0A2LNK9SOsJuYn2zDbXx3jTrmzCEkj-23LGHp_Oveh2PZXokzY1AdUBFBB1uoT3DvAsLg$ 
>>>
>>> - Script Friendly JDK Download URLs
>>> https://urldefense.com/v3/__https://inside.java/2022/11/14/sip072/__;!!ACWV5N9M2RV99hQ!OqdzOerVCrwa1pDUQisIwaR0A2LNK9SOsJuYn2zDbXx3jTrmzCEkj-23LGHp_Oveh2PZXokzY1AdUBFBB1uoT5Fg1RAQ$ 
>>>
>>> - Using the JShell API to improvement a Java Source Browser
>>> https://urldefense.com/v3/__https://inside.java/2022/11/21/jshell-java-source-browser/__;!!ACWV5N9M2RV99hQ!OqdzOerVCrwa1pDUQisIwaR0A2LNK9SOsJuYn2zDbXx3jTrmzCEkj-23LGHp_Oveh2PZXokzY1AdUBFBB1uoT2bwQ-OL$ 
>>>
>>>
>>> ~
>>>
>>> As usual, let us know if you find any quirks while testing your 
>>> project(s) on the latest JDK early-access builds. As year-end is 
>>> approaching, I'd like to thank you for being part of the OpenJDK 
>>> Quality Outreach Program. I hope that you will disconnect a bit to 
>>> spend time with your family and your friends. See you in 2023 with 
>>> Java 20 and Java 21!
>>>
>>> --David
>>>
>>>
>>>
>>>
>>