[jira] [Updated] (GEODE-9475) ObjectSizer will fail on java 16 and later

2022-04-19 Thread Darrel Schneider (Jira)


 [ 
https://issues.apache.org/jira/browse/GEODE-9475?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Darrel Schneider updated GEODE-9475:

Labels: Java16 Java17  (was: Java16)

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


[jira] [Updated] (GEODE-9475) ObjectSizer will fail on java 16 and later

2021-07-28 Thread Darrel Schneider (Jira)


 [ 
https://issues.apache.org/jira/browse/GEODE-9475?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Darrel Schneider updated GEODE-9475:

Labels: Java16  (was: )

> 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
>Priority: Major
>  Labels: Java16
>
> 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.3.4#803005)