You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by Enrico Olivelli <eo...@gmail.com> on 2023/01/17 09:00:04 UTC

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

Hello folks,
I have submitted a PR that fixes the problem
https://github.com/apache/zookeeper/pull/1959

With those changes the tests that failed now pass on JDK19 and JDK20

Please take a look

Enrico

Il giorno lun 12 dic 2022 alle ore 12:04 Enrico Olivelli
<eo...@gmail.com> ha scritto:
>
> David,
> we have one problem with our tests:
>
> See here:
> https://ci-hadoop.apache.org/view/ZooKeeper/job/ZooKeeper-Java-EA/82/testReport/junit/org.apache.zookeeper.test/StaticHostProviderTest/testEmptyResolution/
>
> The error is (even with latest Mockito):
> Cannot mock/spy class java.net.InetAddress
> Mockito cannot mock/spy because :
>  - sealed class
>
> My understanding is that we have to change our tests and stop mocking
> InetAddress, correct ?
>
> Enrico
>
> Il giorno lun 12 dic 2022 alle ore 11:23 David Delabassee
> <da...@oracle.com> ha scritto:
> >
> > 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://jdk.java.net/20/
> > [3] https://jdk.java.net/20/release-notes
> >
> >
> > ### 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://github.com/openjdk/jdk
> > [6] https://github.com/openjdk/jdk20
> > [7] https://jdk.java.net/21/
> >
> >
> > ## 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://jdk.java.net/valhalla/
> > [9] https://openjdk.org/jeps/8277163
> > [10] https://openjdk.org/projects/valhalla/early-access
> > [11] https://inside.java/2022/12/06/jepcafe15/
> > [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://jdk.java.net/genzgc/
> > [14] https://bugs.openjdk.org/browse/JDK-8272979
> > [15] https://inside.java/2022/11/17/insidejava-newscast-037/
> > [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://github.com/openjdk/jfx
> > [18] https://jdk.java.net/javafx20/
> > [19]
> > https://download.java.net/java/early_access/javafx20/docs/api/overview-summary.html
> > [20] http://mail.openjdk.org/mailman/listinfo/openjfx-dev
> > [21] https://inside.java/2022/11/18/podcast-027/
> >
> >
> > ## Topics of Interest:
> >
> > - Building and Deploying Java Client Desktop Applications with JDK 17
> > and Beyond
> > https://inside.java/2022/12/08/building-java-desktop-app/
> >
> > - Java Value Objects in Action with Valhalla - JEP Café #15
> > https://inside.java/2022/12/06/jepcafe15/
> >
> > - Java 20 - Sneak Peek on the Foreign Function & Memory API
> > https://minborgsjavapot.blogspot.com/2022/12/java-20-sneak-peek-on-panama-ffm-api.html
> >
> > - A Glimpse at Java 20 - Pattern Matching, Concurrent Programming and
> > Valhalla - Inside Java Newscast #38
> > https://inside.java/2022/12/01/newscast-38/
> >
> > - “JavaFX” - Inside Java Podcast #27
> > https://inside.java/2022/11/18/podcast-027/
> >
> > - Generational ZGC - Inside Java Newscast #37
> > https://inside.java/2022/11/17/insidejava-newscast-037/
> >
> > - Java 17 to 20 Pattern Matching full tutorial with Records, Instanceof
> > and Switch - JEP Café #14
> > https://inside.java/2022/11/08/jepcafe14/
> >
> > - Script Friendly JDK Download URLs
> > https://inside.java/2022/11/14/sip072/
> >
> > - Using the JShell API to improvement a Java Source Browser
> > https://inside.java/2022/11/21/jshell-java-source-browser/
> >
> >
> > ~
> >
> > 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
> >
> >
> >
> >