[ 
https://issues.apache.org/jira/browse/GEODE-10036?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17489898#comment-17489898
 ] 

John Blum edited comment on GEODE-10036 at 2/11/22, 1:02 AM:
-------------------------------------------------------------

While it should be technically possible to still run and join Locators in a 
cluster by setting the appropriate JVM options (e.g. {{--add-opens 
java.base/java.nio=ALL_UNNAMED}}), I was unsuccessful in doing so.  I am not 
sure why in this case as I was not able to successfully open options while 
running other Apache Geode processes based on my use cases and scenarios.

It should be noted that the use of  {{--add-opens}} JVM options are not an 
acceptable alternative to proper Java module configuration, anyway.


was (Author: jblum):
While it should be technically possible to still run and join Locators in a 
cluster by setting the appropriate JVM options (e.g. {{--add-opens 
java.base/java.nio=ALL_UNNAMED}}), I was unsuccessful in doing so.  I am not 
sure why in this case as I was successfully adding open options while running 
other Apache Geode processes based on my use cases and scenarios.

It should be noted that the use of  {{--add-opens}} JVM options are not an 
acceptable alternative to proper Java module configuration.

> 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: Bug
>    Affects Versions: 1.14.3
>            Reporter: John Blum
>            Priority: Critical
>              Labels: needsTriage
>
> 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.1#820001)

Reply via email to