[ https://issues.apache.org/jira/browse/GEODE-10036?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Darrel Schneider resolved GEODE-10036. -------------------------------------- Fix Version/s: 1.15.0 Resolution: Fixed since geode MemberJvmOptions exports sun.nio.ch nothing else is needed > Joining Locators in a cluster is not possible on Java 17 > -------------------------------------------------------- > > Key: GEODE-10036 > URL: https://issues.apache.org/jira/browse/GEODE-10036 > Project: Geode > Issue Type: Sub-task > Affects Versions: 1.14.3 > Reporter: John Blum > Assignee: Darrel Schneider > Priority: Critical > Labels: Java17, jdk17, pull-request-available > Fix For: 1.15.0 > > > When trying to add multiple _Locators_ to the same cluster, particularly when > "_direct_" {{ByteBuffers}} are used, the following Exception is thrown: > {code:java} > Caused by: org.apache.geode.SystemConnectException: One or more peers > generated exceptions during connection attempt > at > org.apache.geode.distributed.internal.ClusterDistributionManager.sendStartupMessage(ClusterDistributionManager.java:1634) > at > org.apache.geode.distributed.internal.ClusterDistributionManager.create(ClusterDistributionManager.java:361) > at > org.apache.geode.distributed.internal.InternalDistributedSystem.initialize(InternalDistributedSystem.java:756) > at > org.apache.geode.distributed.internal.InternalDistributedSystem.access$200(InternalDistributedSystem.java:132) > at > org.apache.geode.distributed.internal.InternalDistributedSystem$Builder.build(InternalDistributedSystem.java:3011) > at > org.apache.geode.distributed.internal.InternalDistributedSystem.connectInternal(InternalDistributedSystem.java:282) > at > org.apache.geode.distributed.internal.InternalLocator.startDistributedSystem(InternalLocator.java:746) > at > org.apache.geode.distributed.internal.InternalLocator.startLocator(InternalLocator.java:392) > at > org.apache.geode.distributed.LocatorLauncher.start(LocatorLauncher.java:716) > at > org.springframework.data.gemfire.LocatorFactoryBean.init(LocatorFactoryBean.java:120) > ... 44 more > Caused by: 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:101) > at > org.apache.geode.internal.tcp.MsgStreamer.writeMessage(MsgStreamer.java:258) > at > org.apache.geode.distributed.internal.direct.DirectChannel.sendToMany(DirectChannel.java:318) > at > org.apache.geode.distributed.internal.direct.DirectChannel.sendToOne(DirectChannel.java:187) > at > org.apache.geode.distributed.internal.direct.DirectChannel.send(DirectChannel.java:525) > at > org.apache.geode.distributed.internal.DistributionImpl.directChannelSend(DistributionImpl.java:348) > at > org.apache.geode.distributed.internal.DistributionImpl.send(DistributionImpl.java:293) > at > org.apache.geode.distributed.internal.ClusterDistributionManager.sendViaMembershipManager(ClusterDistributionManager.java:2064) > at > org.apache.geode.distributed.internal.ClusterDistributionManager.sendOutgoing(ClusterDistributionManager.java:1991) > at > org.apache.geode.distributed.internal.StartupOperation.sendStartupMessage(StartupOperation.java:75) > at > org.apache.geode.distributed.internal.ClusterDistributionManager.sendStartupMessage(ClusterDistributionManager.java:1631) > ... 56 more > 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 @2e0fa5d3 > at > java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354) > 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) > ... 69 more > {code} -- This message was sent by Atlassian Jira (v8.20.7#820007)