Ekaterina Dimitrova created CASSANDRA-17850:
-----------------------------------------------

             Summary: Find a way to get FileDescriptor.fd and 
sun.nio.ch.FileChannelImpl.fd without opening internals
                 Key: CASSANDRA-17850
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-17850
             Project: Cassandra
          Issue Type: Improvement
            Reporter: Ekaterina Dimitrova


With Java 17 if we do not add below to the jvm17 server options:
{code:java}
--add-opens java.base/sun.nio.ch=ALL-UNNAMED
--add-opens java.base/java.io=ALL-UNNAMED{code}
we get on startup (considering I comment out the scripted UDFs and apply a few 
changes to the startup scripts):

 
{code:java}
ERROR [ScheduledTasks:1] 2022-08-23 12:29:25,652 JVMStabilityInspector.java:68 
- Exception in thread Thread[ScheduledTasks:1,5,ScheduledTasks]
java.lang.AssertionError: java.lang.reflect.InaccessibleObjectException: Unable 
to make field private int java.io.FileDescriptor.fd accessible: module 
java.base does not "opens java.io" to unnamed module @11d8ae8b
at 
org.apache.cassandra.utils.FBUtilities.getProtectedField(FBUtilities.java:801)
at org.apache.cassandra.utils.NativeLibrary.<clinit>(NativeLibrary.java:84)
at org.apache.cassandra.utils.TimeUUID$Generator.hash(TimeUUID.java:496)
at org.apache.cassandra.utils.TimeUUID$Generator.makeNode(TimeUUID.java:474)
at 
org.apache.cassandra.utils.TimeUUID$Generator.makeClockSeqAndNode(TimeUUID.java:452)
at org.apache.cassandra.utils.TimeUUID$Generator.<clinit>(TimeUUID.java:368)
at 
org.apache.cassandra.streaming.StreamingState.<clinit>(StreamingState.java:50)
at org.apache.cassandra.streaming.StreamManager.<init>(StreamManager.java:257)
at org.apache.cassandra.streaming.StreamManager.<clinit>(StreamManager.java:58)
at org.apache.cassandra.service.StorageService.<init>(StorageService.java:376)
at org.apache.cassandra.service.StorageService.<clinit>(StorageService.java:226)
at 
org.apache.cassandra.locator.DynamicEndpointSnitch.updateScores(DynamicEndpointSnitch.java:274)
at 
org.apache.cassandra.locator.DynamicEndpointSnitch$1.run(DynamicEndpointSnitch.java:91)
at 
org.apache.cassandra.concurrent.ExecutionFailure$1.run(ExecutionFailure.java:133)
at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
at 
java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at 
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field 
private int java.io.FileDescriptor.fd accessible: module java.base does not 
"opens java.io" to unnamed module @11d8ae8b
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.Field.checkCanSetAccessible(Field.java:178)
at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
at 
org.apache.cassandra.utils.FBUtilities.getProtectedField(FBUtilities.java:796)
... 20 common frames omitted
{code}
 

 

and 

 
{code:java}
ERROR [ScheduledTasks:1] 2022-08-23 12:31:18,443 JVMStabilityInspector.java:68 
- Exception in thread Thread[ScheduledTasks:1,5,ScheduledTasks]
java.lang.AssertionError: java.lang.reflect.InaccessibleObjectException: Unable 
to make field private final java.io.FileDescriptor 
sun.nio.ch.FileChannelImpl.fd accessible: module java.base does not "opens 
sun.nio.ch" to unnamed module @4c012563
at 
org.apache.cassandra.utils.FBUtilities.getProtectedField(FBUtilities.java:801)
at org.apache.cassandra.utils.NativeLibrary.<clinit>(NativeLibrary.java:87)
at org.apache.cassandra.utils.TimeUUID$Generator.hash(TimeUUID.java:496)
at org.apache.cassandra.utils.TimeUUID$Generator.makeNode(TimeUUID.java:474)
at 
org.apache.cassandra.utils.TimeUUID$Generator.makeClockSeqAndNode(TimeUUID.java:452)
at org.apache.cassandra.utils.TimeUUID$Generator.<clinit>(TimeUUID.java:368)
at 
org.apache.cassandra.streaming.StreamingState.<clinit>(StreamingState.java:50)
at org.apache.cassandra.streaming.StreamManager.<init>(StreamManager.java:257)
at org.apache.cassandra.streaming.StreamManager.<clinit>(StreamManager.java:58)
at org.apache.cassandra.service.StorageService.<init>(StorageService.java:376)
at org.apache.cassandra.service.StorageService.<clinit>(StorageService.java:226)
at 
org.apache.cassandra.locator.DynamicEndpointSnitch.updateScores(DynamicEndpointSnitch.java:274)
at 
org.apache.cassandra.locator.DynamicEndpointSnitch$1.run(DynamicEndpointSnitch.java:91)
at 
org.apache.cassandra.concurrent.ExecutionFailure$1.run(ExecutionFailure.java:133)
at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
at 
java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at 
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field 
private final java.io.FileDescriptor sun.nio.ch.FileChannelImpl.fd accessible: 
module java.base does not "opens sun.nio.ch" to unnamed module @4c012563
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.Field.checkCanSetAccessible(Field.java:178)
at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
at 
org.apache.cassandra.utils.FBUtilities.getProtectedField(FBUtilities.java:796)
... 20 common frames omitted
{code}
 

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to