Hi Anthony- Thank you for the quick reply.
The Spring Data Team is currently looking ahead towards Java 16 when building and running Spring Data examples to get a sense for what works and what doesn't, now that Java 16 is GA along with anticipation for users with questions or problems. Spring Framework itself aligns and is based on LTS Java versions only, currently Java 8 with Spring Framework 5. Spring Framework 6 will likely move the baseline to Java 11 or possibly even Java 17, we are not sure which yet. Just want to share our findings and give advanced notice. Thanks, John ________________________________ From: Anthony Baker <bak...@vmware.com> Sent: Wednesday, May 5, 2021 8:14 AM To: u...@geode.apache.org <u...@geode.apache.org> Cc: geode <dev@geode.apache.org> Subject: Re: JDK 16 Support? Thanks for reporting this John. The next LTS version of Java (17) is due later this year. I think Geode needs to at least support every LTS version of Java and clearly we would need to fix errors like this. Do you see a need to support Java 16 now? Anthony On May 5, 2021, at 7:57 AM, John Blum <jb...@vmware.com<mailto:jb...@vmware.com>> wrote: What is the plan to support Java 16 for Apache Geode? Timeframe? Running Apache Geode on a Java 16 Runtime produces errors like the following: - org.apache.geode.InternalGemFireException: unable to retrieve underlying byte buffer - at org.apache.geode.internal.net.BufferPool.getPoolableBuffer(BufferPool.java:346) - at org.apache.geode.internal.net.BufferPool.releaseBuffer(BufferPool.java:310) - at org.apache.geode.internal.net.BufferPool.releaseSenderBuffer(BufferPool.java:213) - at org.apache.geode.internal.tcp.MsgStreamer.release(MsgStreamer.java:100) - at org.apache.geode.internal.tcp.MsgStreamer.writeMessage(MsgStreamer.java:256) - at org.apache.geode.distributed.internal.direct.DirectChannel.sendToMany(DirectChannel.java:306) - at org.apache.geode.distributed.internal.direct.DirectChannel.sendToOne(DirectChannel.java:182) - at org.apache.geode.distributed.internal.direct.DirectChannel.send(DirectChannel.java:511) - at org.apache.geode.distributed.internal.DistributionImpl.directChannelSend(DistributionImpl.java:346) - at org.apache.geode.distributed.internal.DistributionImpl.send(DistributionImpl.java:291) - at org.apache.geode.distributed.internal.ClusterDistributionManager.sendViaMembershipManager(ClusterDistributionManager.java:2050) - at org.apache.geode.distributed.internal.ClusterDistributionManager.sendOutgoing(ClusterDistributionManager.java:1978) - at org.apache.geode.distributed.internal.ClusterDistributionManager.sendMessage(ClusterDistributionManager.java:2015) - at org.apache.geode.distributed.internal.ClusterDistributionManager.putOutgoing(ClusterDistributionManager.java:1083) - at org.apache.geode.distributed.internal.StartupMessage.process(StartupMessage.java:279) - at org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:376) - at org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:441) - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) - at org.apache.geode.distributed.internal.ClusterOperationExecutors.runUntilShutdown(ClusterOperationExecutors.java:441) - at org.apache.geode.distributed.internal.ClusterOperationExecutors.doWaitingThread(ClusterOperationExecutors.java:410) - at org.apache.geode.logging.internal.executors.LoggingThreadFactory.lambda$newThread$0(LoggingThreadFactory.java:119) - at java.base/java.lang.Thread.run(Thread.java:831) - Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make public java.lang.Object java.nio.DirectByteBuffer.attachment() accessible: module java.base does not "opens java.nio" to unnamed module @40f9161a - at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:357) - at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297) - at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199) - at java.base/java.lang.reflect.Method.setAccessible(Method.java:193) - at org.apache.geode.internal.net.BufferPool.getPoolableBuffer(BufferPool.java:343) - ... 22 common frames omitted - 2021-04-30 14:57:13,638 INFO ributed.internal.membership.gms.Services: 606 - received leave request from 10.99.199.28(CacheNotUsingSharedConfigurationIntegrationTest:29149)<v1>:41001 for 10.99.199.28(CacheNotUsingSharedConfigurationIntegrationTest:29149)<v1>:41001 - 2021-04-30 14:57:13,640 INFO ributed.internal.membership.gms.Services: 617 - JoinLeave.processMessage(LeaveRequestMessage) invoked. isCoordinator=true; isStopping=false; cancelInProgress=false - 2021-04-30 14:57:13,647 ERROR xecutors.LoggingUncaughtExceptionHandler: 92 - Uncaught exception in thread Thread[P2P message reader for 10.99.199.28(CacheNotUsingSharedConfigurationIntegrationTest:29149)<v1>:41001 shared unordered uid=1 local port=53039 remote port=64063,10,main] - org.apache.geode.InternalGemFireException: unable to retrieve underlying byte buffer - at org.apache.geode.internal.net.BufferPool.getPoolableBuffer(BufferPool.java:346) - at org.apache.geode.internal.net.BufferPool.releaseBuffer(BufferPool.java:310) - at org.apache.geode.internal.net.BufferPool.releaseReceiveBuffer(BufferPool.java:217) - at org.apache.geode.internal.tcp.Connection.releaseInputBuffer(Connection.java:1512) - at org.apache.geode.internal.tcp.Connection.run(Connection.java:1495) - at java.base/java.lang.Thread.run(Thread.java:831) - Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make public java.lang.Object java.nio.DirectByteBuffer.attachment() accessible: module java.base does not "opens java.nio" to unnamed module @40f9161a - at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:357) - at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297) - at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199) - at java.base/java.lang.reflect.Method.setAccessible(Method.java:193) - at org.apache.geode.internal.net.BufferPool.getPoolableBuffer(BufferPool.java:343) - ... 5 common frames omitted - 2021-04-30 14:57:13,651 ERROR xecutors.LoggingUncaughtExceptionHandler: 92 - Uncaught exception in thread Thread[P2P handshake reader@53e57a03-1,5,main] - org.apache.geode.InternalGemFireException: unable to retrieve underlying byte buffer - at org.apache.geode.internal.net.BufferPool.getPoolableBuffer(BufferPool.java:346) - at org.apache.geode.internal.net.BufferPool.releaseBuffer(BufferPool.java:310) - at org.apache.geode.internal.net.BufferPool.releaseReceiveBuffer(BufferPool.java:217) - at org.apache.geode.internal.tcp.Connection.releaseInputBuffer(Connection.java:1512) - at org.apache.geode.internal.tcp.Connection.run(Connection.java:1495) - at java.base/java.lang.Thread.run(Thread.java:831) - Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make public java.lang.Object java.nio.DirectByteBuffer.attachment() accessible: module java.base does not "opens java.nio" to unnamed module @40f9161a - at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:357) - at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297) - at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199) - at java.base/java.lang.reflect.Method.setAccessible(Method.java:193) - at org.apache.geode.internal.net.BufferPool.getPoolableBuffer(BufferPool.java:343) - ... 5 common frames omitted Regards, -John