Hello,
I have started the upgrade process to Elasticsearch-7.9.3 and I see that although I was using CMS GC before, and G1GC configurations are commented out, the instance starts and logs indicates that G1GC is used.
What is the reason for this? is CMS GC is now deprecated?
After some more checks, I noticed that although the jvm.options looks like this:
## GC configuration
8-13:-XX:+UseConcMarkSweepGC
8-13:-XX:CMSInitiatingOccupancyFraction=75
8-13:-XX:+UseCMSInitiatingOccupancyOnly
## G1GC Configuration
# NOTE: G1 GC is only supported on JDK version 10 or later
# to use G1GC, uncomment the next two lines and update the version on the
# following three lines to your version of the JDK
# 10-13:-XX:-UseConcMarkSweepGC
# 10-13:-XX:-UseCMSInitiatingOccupancyOnly
#14-:-XX:+UseG1GC
#14-:-XX:G1ReservePercent=25
#14-:-XX:InitiatingHeapOccupancyPercent=30
If I run this command to see default Java flags, I see that G1GC is enabled by default:
What is the reason for this change? is now since ElasticSearch 7.9.2 has upgraded the JDK, and the new JDK is using G1GC as default, it means that I cannot configure to use CMS through the jvm.options file?
I see, after making some more checks and reading online I did suspected that.
Hopefully this change alongside with the cluster version won't affect cluster performance.
Although our nodes with max heap (31GB), we used to run with CMS for a very long time, so we'll see how it goes.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.