Briefly, this error occurs when Elasticsearch tries to access thread CPU time, but the current Java Development Kit (JDK) version doesn’t support it. This is often due to using an outdated or incompatible JDK version. To resolve this issue, you can upgrade to a newer JDK version that supports thread CPU time. Alternatively, you can disable the usage of thread CPU time in Elasticsearch settings if it’s not crucial for your operations.
This guide will help you check for common problems that cause the log ” thread CPU time is not supported on this JDK ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: thread, monitor.
Log Context
Log “thread CPU time is not supported on this JDK” class name is HotThreads.java. We extracted the following from Elasticsearch source code for those seeking an in-depth context :
} String innerDetect(ThreadMXBean threadBean; SunThreadInfo sunThreadInfo; long currentThreadId; SleepFunctionthreadSleep) throws Exception { if (threadBean.isThreadCpuTimeSupported() == false) { throw new ElasticsearchException("thread CPU time is not supported on this JDK"); } if (type == ReportType.MEM && sunThreadInfo.isThreadAllocatedMemorySupported() == false) { throw new ElasticsearchException("thread allocated memory is not supported on this JDK"); }