apache/cassandra · error · RuntimeException
Error getting threadpool names from JMX
Error message
Error getting threadpool names from JMX
What it means
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.
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
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at src/java/org/apache/cassandra/tools/NodeProbe.java:1997 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of apache/cassandra@88fd0f6a0e (2026-09-10).
Data as JSON: /api/errors/1a6c19136e9a6c34.
Report an issue: GitHub.
Appendix: source
Thrown at src/java/org/apache/cassandra/tools/NodeProbe.java:1997
Set<ObjectName> threadPoolObjectNames = mbeanServerConn.queryNames(
new ObjectName("org.apache.cassandra.metrics:type=ThreadPools,*"),
null);
for (ObjectName oName : threadPoolObjectNames)
{
threadPools.put(oName.getKeyProperty("path"), oName.getKeyProperty("scope"));
}
return threadPools;
}
catch (MalformedObjectNameException e)
{
throw new RuntimeException("Bad query to JMX server: ", e);
}
catch (IOException e)
{
throw new RuntimeException("Error getting threadpool names from JMX", e);
}
}
public Object getThreadPoolMetric(String pathName, String poolName, String metricName)
{
String name = String.format("org.apache.cassandra.metrics:type=ThreadPools,path=%s,scope=%s,name=%s",
pathName, poolName, metricName);
try
{
ObjectName oName = new ObjectName(name);
if (!mbeanServerConn.isRegistered(oName))
{
return "N/A";
}
switch (metricName)
{View on GitHub (pinned to 88fd0f6a0e)