[ https://issues.apache.org/jira/browse/GEODE-10128?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dale Emery updated GEODE-10128: ------------------------------- Labels: Java17 pull-request-available (was: GeodeOperationAPI Java17 pull-request-available) > Open and export additional packages when running tests on JDK 17 > ---------------------------------------------------------------- > > Key: GEODE-10128 > URL: https://issues.apache.org/jira/browse/GEODE-10128 > Project: Geode > Issue Type: Improvement > Components: ci, tests > Affects Versions: 1.15.0 > Reporter: Dale Emery > Assignee: Dale Emery > Priority: Major > Labels: Java17, pull-request-available > > JDK 17 throws exceptions when code attempts certain kinds of access to > packages that are not opened or exported by their modules. JDK 11 issued > warnings in these cases. > When Gradle launches test JVMs, it must open and export the packages that > will be accessed by product and test code during the tests. We currently > configure a few packages in {{{}test.gradle{}}}. To support JDK 17, we must > open and export additional packages. > Additional packages to open (via {{{}--add-opens{}}}): > - java.base/java.lang > - java.base/java.nio > - java.base/java.text > - java.base/java.util > - java.base/java.util.concurrent > - java.base/java.util.concurrent.atomic > - java.base/java.util.concurrent.locks > - java.base/javax.net.ssl > - java.base/sun.security.ssl > - java.base/sun.util.locale > - java.rmi/sun.rmi.transport > Additional packages to export (via {{{}--add-opens{}}}): > - java.base/jdk.internal.util.random > - java.base/sun.nio.ch > - java.base/sun.security.x509 > - java.management/com.sun.jmx.remote.security > We may discover additional packages to open/export as we run more tests under > JDK 17, and as we change product and test code. > Note that different JDKs define different {{jdk.internal}} subpackages. For > example: > - JDK 17 has {{{}jdk.internal.util.random{}}}, but JDK 11 does not. > - On Linux, JDK 11 and 17 have {{{}jdk.internal.platform.cgroupv1{}}}, but > Windows and macOS JDKs do not. > We have a few options for dealing with the differing {{jdk.internal}} > packages: > - Configure which packages we open/export depending on the JDK > implementation. > - Open all of these packages on all JDK platforms and versions (JDK 9 or > higher). This will produce warnings when we open/export a package that does > not exist. -- This message was sent by Atlassian Jira (v8.20.1#820001)