[ https://issues.apache.org/jira/browse/GEODE-9475?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ernest Burghardt reassigned GEODE-9475: --------------------------------------- Assignee: Ernest Burghardt > ObjectSizer will fail on java 16 and later > ------------------------------------------ > > Key: GEODE-9475 > URL: https://issues.apache.org/jira/browse/GEODE-9475 > Project: Geode > Issue Type: Bug > Components: core > Reporter: Darrel Schneider > Assignee: Ernest Burghardt > Priority: Major > Labels: Java16, Java17 > > The instances of org.apache.geode.cache.util.ObjectSizer, SIZE_CLASS_ONCE, > REFLECTION_SIZE, and DEFAULT will not work on java 16 and later because they > call Field.setAccessible which is not allowed under normal conditions > starting with java 16 (see: > https://softwaregarden.dev/en/posts/new-java/illegal-access-in-java-16 ). > To workaround this failure set the JVM command line option: > --illegal-access=permit > These ObjectSizer instances are used in a number of places internally by > geode and can also explicitly be configured by users. Internally they are > used by default for eviction (heap or mem), the wan gateway, and tombstone > gc. Most all regions produce tombstones so that is the most likely point of > failure. > The code that calls setAccessible is: > org.apache.geode.internal.size.ObjectTraverser#buildFieldSet and it is not > clear how this code can be changed to do its job without using setAccessible. -- This message was sent by Atlassian Jira (v8.20.7#820007)