{"record":{"id":"1a6c19136e9a6c34","repo":"apache/cassandra","slug":"error-getting-threadpool-names-from-jmx","errorCode":null,"errorMessage":"Error getting threadpool names from JMX","messagePattern":"Error getting threadpool names from JMX","errorType":"exception","errorClass":"RuntimeException","httpStatus":null,"severity":"error","filePath":"src/java/org/apache/cassandra/tools/NodeProbe.java","lineNumber":1997,"sourceCode":"\n            Set<ObjectName> threadPoolObjectNames = mbeanServerConn.queryNames(\n                    new ObjectName(\"org.apache.cassandra.metrics:type=ThreadPools,*\"),\n                    null);\n\n            for (ObjectName oName : threadPoolObjectNames)\n            {\n                threadPools.put(oName.getKeyProperty(\"path\"), oName.getKeyProperty(\"scope\"));\n            }\n\n            return threadPools;\n        }\n        catch (MalformedObjectNameException e)\n        {\n            throw new RuntimeException(\"Bad query to JMX server: \", e);\n        }\n        catch (IOException e)\n        {\n            throw new RuntimeException(\"Error getting threadpool names from JMX\", e);\n        }\n    }\n\n    public Object getThreadPoolMetric(String pathName, String poolName, String metricName)\n    {\n      String name = String.format(\"org.apache.cassandra.metrics:type=ThreadPools,path=%s,scope=%s,name=%s\",\n              pathName, poolName, metricName);\n\n      try\n      {\n          ObjectName oName = new ObjectName(name);\n          if (!mbeanServerConn.isRegistered(oName))\n          {\n              return \"N/A\";\n          }\n\n          switch (metricName)\n          {","sourceCodeStart":1979,"sourceCodeEnd":2015,"githubUrl":"https://github.com/apache/cassandra/blob/88fd0f6a0eaed8943f05ac9e8f947882b8ddc8f1/src/java/org/apache/cassandra/tools/NodeProbe.java#L1979-L2015","documentation":"RuntimeException wrapper from NodeProbe.getThreadPoolNames when the IOException from the remote MBean server connection (queryNames) is caught and rethrown. This is a transport-level failure talking to JMX, not a data problem.","triggerScenarios":"Thrown at src/java/org/apache/cassandra/tools/NodeProbe.java:1997 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check JMX connectivity (host, port, credentials) used by nodetool","Confirm the remote node is up and its JMX service is healthy","Retry after network issues are resolved"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"88fd0f6a0eaed8943f05ac9e8f947882b8ddc8f1","analyzedAt":"2026-09-10T07:29:22.284Z","contentChangedAt":"2026-09-10T07:29:22.284Z","schemaVersion":2},"datasetVersion":"2026-09-17T15:17:12.973Z"}