To transition away from Attach API, the community needs a proposal to do so and we'll need to deprecate the GFSH options that depend on Attach API such as "--pid" in "status server --pid 20938". Even then we're looking at a minimum of one major release before we can remove options after they are deprecated.
We haven't had a major release in 4+ years so don't hold your breath! :) On Wed, Jul 8, 2020 at 9:59 AM Sean Goller <sgol...@vmware.com> wrote: > The Liberica JDK does not include the Attach API. I'm investigating why. > Given the inherent insecurity of this API, I recommend we transition away > from using it. > ________________________________ > From: Kirk Lund <kl...@apache.org> > Sent: Monday, July 6, 2020 10:36 AM > To: dev@geode.apache.org <dev@geode.apache.org> > Subject: Flaky test caused by missing JDK dependency > > CI Failure: > LocatorLauncherRemoteFileIntegrationTest.startDeletesStaleControlFiles > failed with ConditionTimeoutException > > https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fissues.apache.org%2Fjira%2Fbrowse%2FGEODE-6183&data=02%7C01%7Csgoller%40vmware.com%7Cbcfa660e6577442247ee08d821d3283c%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C637296538083290882&sdata=7HMMMxvHvdlJf8Awc9zAl7Xr9291Ep0HMoto5%2F%2BgUys%3D&reserved=0 > > I've debugged the latest occurrence of GEODE-6183 (intermittent failure > CI): > > https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fconcourse.apachegeode-ci.info%2Fteams%2Fmain%2Fpipelines%2Fapache-support-1-13-main%2Fjobs%2FWindowsCoreIntegrationTestOpenJDK11%2Fbuilds%2F34&data=02%7C01%7Csgoller%40vmware.com%7Cbcfa660e6577442247ee08d821d3283c%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C637296538083290882&sdata=x1FIsAQOyZd%2Bvl%2BRRkzI8yGeFW%2B04sMuO4JM%2F67vu8w%3D&reserved=0 > > The underlying cause is a missing dependency: the Attach API. In the Oracle > JDK, the Attach API is found in the JAVA_HOME/lib/tools.jar. In some JDKs, > including LibericaJDK, there may not be a tools.jar or it may be missing > from our image of specific JDKs or a specific OS. I confirmed that the > Attach API is actually inside a different .jar on some Mac releases of the > JDK. > > Other than JDK differences, I'm not sure why tools.jar would intermittently > be missing from our testing image, but that's definitely the cause of > WindowsCoreIntegrationTestOpenJDK11 failing. I've reviewed a couple other > older runs and it was the same intermittent cause of failure. > > Does anyone know if LibericaJDK includes tools.jar or the Attach API? > > Does anyone know how to verify that our images all have tools.jar or its > equivalent? > > java.util.ServiceConfigurationError: > com.sun.tools.attach.spi.AttachProvider: Provider > sun.tools.attach.WindowsAttachProvider not found > at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:588) > at > > java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.nextProviderClass(ServiceLoader.java:1211) > at > > java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1220) > at > > java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1264) > at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1299) > at java.base/java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1384) > at > > jdk.attach/com.sun.tools.attach.spi.AttachProvider.providers(AttachProvider.java:258) > at > > jdk.attach/com.sun.tools.attach.VirtualMachine.list(VirtualMachine.java:144) > at > > org.apache.geode.internal.process.AttachProcessUtils.isProcessAlive(AttachProcessUtils.java:35) > at > > org.apache.geode.internal.process.ProcessUtils.isProcessAlive(ProcessUtils.java:99) > at > > org.apache.geode.internal.process.lang.AvailablePid.findAvailablePid(AvailablePid.java:117) > at > > org.apache.geode.distributed.LauncherIntegrationTestCase.setUpAbstractLauncherIntegrationTestCase(LauncherIntegrationTestCase.java:92) >