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
>>>
>>>
>>>
>>>
>>