-
Notifications
You must be signed in to change notification settings - Fork 25.6k
Description
Context
According to JEP 363 (originally draft JEP 8229049) the CMS garbage collector will be removed from OpenJDK (discussion of the patch and commit). The corresponding discussion on the OpenJDK mailing list mentions JDK 14 as targeted JDK. There is currently no release date for JDK 14 but based on past release cadence we should expect it to be released in late March 2020. As Elasticsearch currently recommends the CMS garbage collector we should be prepared for its removal. I'm raising this issue as a meta-issue to collect our thoughts on what is missing to run Elasticsearch with a different garbage collector than CMS out of the box.
Prior work
We have already investigated G1GC as an alternative garbage collector for Elasticsearch in #33685 and have recently adjusted the out-of-the box settings in #46169 to improve the effectiveness of Elasticsearch's real-memory circuit breaker with G1GC.
Tasks
The following list may be incomplete, please add new tasks as needed:
- Ensure we don't use CMS for JDK 14 anymore: Restrict support for CMS to pre-JDK 14 #49123
- Investigate whether we always want to use G1 as the garbage collector (it might make sense to ergonomically choose parallel GC for smaller heaps) - see Prepare for removal of the CMS garbage collector #46973 (comment).
- Update our default JVM configuration to not use CMS Restrict support for CMS to pre-JDK 14 #49123
- Update our reference documentation to remove any references to CMS (e.g. our bootstrap checks docs)