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)

Reply via email to