Briefly, this error occurs when the Garbage Collection (GC) thresholds for warn, info, and debug levels are not properly set in Elasticsearch’s JVM options. These thresholds control when Elasticsearch logs GC events. If they are missing, Elasticsearch will ignore them. To resolve this issue, you can manually set these thresholds in the jvm.options file. The format is “X:Y:Z”, where X is the warn threshold, Y is the info threshold, and Z is the debug threshold. Alternatively, you can remove the GC logging configuration if it’s not needed.
This guide will help you check for common problems that cause the log ” ignoring gc_threshold for [{}]; missing warn/info/debug values ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: monitor.
Log Context
Log “ignoring gc_threshold for [{}]; missing warn/info/debug values” classname is JvmMonitorService.java.
We extracted the following from Elasticsearch source code for those seeking an in-depth context :
String name = entry.getKey(); TimeValue warn = entry.getValue().getAsTime("warn"; null); TimeValue info = entry.getValue().getAsTime("info"; null); TimeValue debug = entry.getValue().getAsTime("debug"; null); if (warn == null || info == null || debug == null) { logger.warn("ignoring gc_threshold for [{}]; missing warn/info/debug values"; name); } else { gcThresholds.put(name; new GcThreshold(name; warn.millis(); info.millis(); debug.millis())); } } if (!gcThresholds.containsKey(GcNames.YOUNG)) {