Closed
Description
The Elasticsearch 6.5.0 release blog mentions support for JDK 11 and G1GC. The product support matrix shows support for JDK 11 for Elasticsearch versions 6.5.x-7.0.x. This is all great news.
What is missing is official documentation on how to use the G1 collector and where to configure it. Specifically, G1 is only supported when using JDK 11 or higher (JDK 12 is supported as of 6.7.x) in versions of Elasticsearch that support those JDKs. There have been reports of users configuring G1 under JDK 8 which is not a supported configuration. E.g.:
[2019-04-16T21:07:52,944][INFO ][o.e.n.Node] [node.name] version[6.5.4], pid[6203],
build[default/rpm/d2ef93d/2018-12-17T21:17:40.758843Z], OS[Linux/3.10.0-
957.1.3.el7.x86_64/amd64], JVM[Oracle Corporation/OpenJDK 64-Bit Server VM/1.8.0_191/25.191-b12]
[2019-04-16T21:07:52,944][INFO ][o.e.n.Node] [node.name] JVM arguments [-Xms30g, -
Xmx30g, -XX:+UseG1GC, -XX:+AlwaysPreTouch, -Djava.awt.headless=true, -
Dfile.encoding=UTF-8,
Documenting when to use G1 would be a big bonus. For example, "Try G1 when the use case is ... or when heap utilization performance charts look like ..."