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

Reply via email to