Darrel Schneider created GEODE-9505:
---------------------------------------
Summary: enhance geode to support zgc
Key: GEODE-9505
URL: https://issues.apache.org/jira/browse/GEODE-9505
Project: Geode
Issue Type: Improvement
Components: core
Reporter: Darrel Schneider
Geode has a ResourceManger that interacts with the jvm garbage collector. It
wants to know how much "tenured" memory the jvm currently has allocated.
To do this it needs to know which of the jvm's memory pools represents tenured
memory.
In the case of ZGC, it currently (as of java 17) does not support generations
so it has just one memory pool. It is named "ZHeap". For geode to support zgc
the method org.apache.geode.internal.cache.control.HeapMemoryMonitor#isTenured
needs to be enhanced to recognize the pool named "ZHeap" as the tenured pool.
A work around currently exists in geode. By setting the system property
"gemfire.ResourceManager.HEAP_POOL" to "ZHeap" geode should work with ZGC.
Note that ZGC is available as of java 11 so we don't need to use java 16. ZGC
became production ready in java 15. Before java 15 it required that a command
line option to enable experimental features. java 16 ZGC has been optimized
compared to java 15. java 16 requires --illegal-access=permit so that our calls
to setAccessible will not blow up and we could just make this one of our ZGC
command line options. As far as I can tell java 17 has no new ZGC features but
it does drop support for --illegal-access=permit and instead --add-opens will
need to be used. Look for geode tickets with the "java16" label to see all the
product features that currently have illegal-access issues.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)