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

Ekaterina Dimitrova edited comment on CASSANDRA-17869 at 4/5/23 7:34 PM:
-------------------------------------------------------------------------

I figured that the JDK17 build doesn't start at the moment because of this (as 
expected we do not have too much storage locally and in CI available so we 
trigger the below warning), the main issue is initializing the partitioner and 
jamm hitting JDK internals:

 
{code:java}
WARN  [main] 2023-04-05 10:46:25,361 DatabaseDescriptor.java:675 - Only 
44.801GiB free across all data volumes. Consider adding more capacity to your 
cluster or removing obsolete snapshots
Exception (java.lang.ExceptionInInitializerError) encountered during startup: 
null
java.lang.ExceptionInInitializerError
at 
org.apache.cassandra.dht.Murmur3Partitioner.<clinit>(Murmur3Partitioner.java:54)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:375)
at org.apache.cassandra.utils.FBUtilities.classForName(FBUtilities.java:721)
at 
org.apache.cassandra.utils.FBUtilities.instanceOrConstruct(FBUtilities.java:737)
at org.apache.cassandra.utils.FBUtilities.newPartitioner(FBUtilities.java:642)
at org.apache.cassandra.utils.FBUtilities.newPartitioner(FBUtilities.java:628)
at 
org.apache.cassandra.config.DatabaseDescriptor.applyPartitioner(DatabaseDescriptor.java:1342)
at 
org.apache.cassandra.config.DatabaseDescriptor.applyPartitioner(DatabaseDescriptor.java:1328)
at 
org.apache.cassandra.config.DatabaseDescriptor.applyAll(DatabaseDescriptor.java:403)
at 
org.apache.cassandra.config.DatabaseDescriptor.daemonInitialization(DatabaseDescriptor.java:216)
at 
org.apache.cassandra.config.DatabaseDescriptor.daemonInitialization(DatabaseDescriptor.java:200)
at 
org.apache.cassandra.service.CassandraDaemon.applyConfig(CassandraDaemon.java:817)
at 
org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:760)
at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:888)
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field 
private final transient java.net.InetSocketAddress$InetSocketAddressHolder 
java.net.InetSocketAddress.holder accessible: module java.base does not "opens 
java.net" to unnamed module @536dbea0
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.github.jamm.MemoryMeter.addFieldChildren(MemoryMeter.java:330)
at org.github.jamm.MemoryMeter.measureDeep(MemoryMeter.java:269)
at org.apache.cassandra.utils.ObjectSizes.measureDeep(ObjectSizes.java:221)
at org.apache.cassandra.utils.ObjectSizes.<clinit>(ObjectSizes.java:45)
... 15 more
ERROR [main] 2023-04-05 10:46:26,007 CassandraDaemon.java:910 - Exception 
encountered during startup
java.lang.ExceptionInInitializerError: null
at 
org.apache.cassandra.dht.Murmur3Partitioner.<clinit>(Murmur3Partitioner.java:54)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:375)
at org.apache.cassandra.utils.FBUtilities.classForName(FBUtilities.java:721)
at 
org.apache.cassandra.utils.FBUtilities.instanceOrConstruct(FBUtilities.java:737)
at org.apache.cassandra.utils.FBUtilities.newPartitioner(FBUtilities.java:642)
at org.apache.cassandra.utils.FBUtilities.newPartitioner(FBUtilities.java:628)
at 
org.apache.cassandra.config.DatabaseDescriptor.applyPartitioner(DatabaseDescriptor.java:1342)
at 
org.apache.cassandra.config.DatabaseDescriptor.applyPartitioner(DatabaseDescriptor.java:1328)
at 
org.apache.cassandra.config.DatabaseDescriptor.applyAll(DatabaseDescriptor.java:403)
at 
org.apache.cassandra.config.DatabaseDescriptor.daemonInitialization(DatabaseDescriptor.java:216)
at 
org.apache.cassandra.config.DatabaseDescriptor.daemonInitialization(DatabaseDescriptor.java:200)
at 
org.apache.cassandra.service.CassandraDaemon.applyConfig(CassandraDaemon.java:817)
at 
org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:760)
at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:888)
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field 
private final transient java.net.InetSocketAddress$InetSocketAddressHolder 
java.net.InetSocketAddress.holder accessible: module java.base does not "opens 
java.net" to unnamed module @536dbea0
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.github.jamm.MemoryMeter.addFieldChildren(MemoryMeter.java:330)
at org.github.jamm.MemoryMeter.measureDeep(MemoryMeter.java:269)
at org.apache.cassandra.utils.ObjectSizes.measureDeep(ObjectSizes.java:221)
at org.apache.cassandra.utils.ObjectSizes.<clinit>(ObjectSizes.java:45)
... 15 common frames omitted
 
{code}
Until Jamm maintenance is finished we can do add-opens temporarily to work 
around it. (I will test and provide a patch soon)

Now, I asked myself why now everywhere we can see this issue.

My bisecting landed me at CASSANDRA-17199

On my machine I can see we add about 4-5GiB so we started measuring something 
more which also triggers jamm somewhere? Probably it is ok but just in case - 
ping [~dcapwell] as he was working last on CASSANDRA-17199. Is this ok or is 
there anything we will need to follow up on?
{code:java}
WARN  [main] 2023-04-05 10:58:15,260 DatabaseDescriptor.java:677 - Only 
40.798GiB free across all data volumes. Consider adding more capacity to your 
cluster or removing obsolete snapshots{code}
 

 


was (Author: e.dimitrova):
I figured that the JDK17 build doesn't start at the moment because of this (as 
expected we do not have too much storage locally and in CI available so we 
trigger the below warning):

 
{code:java}
WARN  [main] 2023-04-05 10:46:25,361 DatabaseDescriptor.java:675 - Only 
44.801GiB free across all data volumes. Consider adding more capacity to your 
cluster or removing obsolete snapshots
Exception (java.lang.ExceptionInInitializerError) encountered during startup: 
null
java.lang.ExceptionInInitializerError
at 
org.apache.cassandra.dht.Murmur3Partitioner.<clinit>(Murmur3Partitioner.java:54)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:375)
at org.apache.cassandra.utils.FBUtilities.classForName(FBUtilities.java:721)
at 
org.apache.cassandra.utils.FBUtilities.instanceOrConstruct(FBUtilities.java:737)
at org.apache.cassandra.utils.FBUtilities.newPartitioner(FBUtilities.java:642)
at org.apache.cassandra.utils.FBUtilities.newPartitioner(FBUtilities.java:628)
at 
org.apache.cassandra.config.DatabaseDescriptor.applyPartitioner(DatabaseDescriptor.java:1342)
at 
org.apache.cassandra.config.DatabaseDescriptor.applyPartitioner(DatabaseDescriptor.java:1328)
at 
org.apache.cassandra.config.DatabaseDescriptor.applyAll(DatabaseDescriptor.java:403)
at 
org.apache.cassandra.config.DatabaseDescriptor.daemonInitialization(DatabaseDescriptor.java:216)
at 
org.apache.cassandra.config.DatabaseDescriptor.daemonInitialization(DatabaseDescriptor.java:200)
at 
org.apache.cassandra.service.CassandraDaemon.applyConfig(CassandraDaemon.java:817)
at 
org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:760)
at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:888)
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field 
private final transient java.net.InetSocketAddress$InetSocketAddressHolder 
java.net.InetSocketAddress.holder accessible: module java.base does not "opens 
java.net" to unnamed module @536dbea0
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.github.jamm.MemoryMeter.addFieldChildren(MemoryMeter.java:330)
at org.github.jamm.MemoryMeter.measureDeep(MemoryMeter.java:269)
at org.apache.cassandra.utils.ObjectSizes.measureDeep(ObjectSizes.java:221)
at org.apache.cassandra.utils.ObjectSizes.<clinit>(ObjectSizes.java:45)
... 15 more
ERROR [main] 2023-04-05 10:46:26,007 CassandraDaemon.java:910 - Exception 
encountered during startup
java.lang.ExceptionInInitializerError: null
at 
org.apache.cassandra.dht.Murmur3Partitioner.<clinit>(Murmur3Partitioner.java:54)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:375)
at org.apache.cassandra.utils.FBUtilities.classForName(FBUtilities.java:721)
at 
org.apache.cassandra.utils.FBUtilities.instanceOrConstruct(FBUtilities.java:737)
at org.apache.cassandra.utils.FBUtilities.newPartitioner(FBUtilities.java:642)
at org.apache.cassandra.utils.FBUtilities.newPartitioner(FBUtilities.java:628)
at 
org.apache.cassandra.config.DatabaseDescriptor.applyPartitioner(DatabaseDescriptor.java:1342)
at 
org.apache.cassandra.config.DatabaseDescriptor.applyPartitioner(DatabaseDescriptor.java:1328)
at 
org.apache.cassandra.config.DatabaseDescriptor.applyAll(DatabaseDescriptor.java:403)
at 
org.apache.cassandra.config.DatabaseDescriptor.daemonInitialization(DatabaseDescriptor.java:216)
at 
org.apache.cassandra.config.DatabaseDescriptor.daemonInitialization(DatabaseDescriptor.java:200)
at 
org.apache.cassandra.service.CassandraDaemon.applyConfig(CassandraDaemon.java:817)
at 
org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:760)
at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:888)
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field 
private final transient java.net.InetSocketAddress$InetSocketAddressHolder 
java.net.InetSocketAddress.holder accessible: module java.base does not "opens 
java.net" to unnamed module @536dbea0
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.github.jamm.MemoryMeter.addFieldChildren(MemoryMeter.java:330)
at org.github.jamm.MemoryMeter.measureDeep(MemoryMeter.java:269)
at org.apache.cassandra.utils.ObjectSizes.measureDeep(ObjectSizes.java:221)
at org.apache.cassandra.utils.ObjectSizes.<clinit>(ObjectSizes.java:45)
... 15 common frames omitted
 
{code}
Until Jamm maintenance is finished we can do add-opens temporarily to work 
around it. (I will test and provide a patch soon)

Now, I asked myself why now everywhere we can see this issue.

My bisecting landed me at CASSANDRA-17199

On my machine I can see we add about 4-5GiB so we started measuring something 
more which also triggers jamm somewhere? Probably it is ok but just in case - 
ping [~dcapwell] as he was working last on CASSANDRA-17199. Is this ok or is 
there anything we will need to follow up on?
{code:java}
WARN  [main] 2023-04-05 10:58:15,260 DatabaseDescriptor.java:677 - Only 
40.798GiB free across all data volumes. Consider adding more capacity to your 
cluster or removing obsolete snapshots{code}
 

 

> Add JDK17 option to cassandra-builds (build-scripts and jenkins dsl) and on 
> jenkins agents
> ------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-17869
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-17869
>             Project: Cassandra
>          Issue Type: Task
>          Components: Build
>            Reporter: Michael Semb Wever
>            Assignee: Michael Semb Wever
>            Priority: Normal
>             Fix For: 5.x
>
>          Time Spent: 2.5h
>  Remaining Estimate: 0h
>
> Add JDK17 option to cassandra-builds build-scripts, they only currently 
> support options {{8}} and {{11}}.
> Add JDK17 to the matrix axes in the jenkins dsl.
> Ensure JDK17 is installed on all the jenkins agents.



--
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