Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
Description
In three different places geode deserialization calls setAccessible in order to make the constructor callable. This will not work on java 16 and later because it calls 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 or use --add-opens.
The places that make the calls for deserialization are:
- org.apache.geode.internal.InternalDataSerializer#newInstance
- org.apache.geode.internal.InternalDataSerializer#readDataSerializable
- org.apache.geode.internal.InternalInstantiator#newInstance