pinpoint-apm/pinpoint · error · ResponseStatusException
Disable activeThreadDump option. 'config.enable.activeThread
Error message
Disable activeThreadDump option. 'config.enable.activeThreadDump=false'
What it means
ActiveThreadDumpController.getClusterKey checks webProperties.isEnableActiveThreadDump() before serving any active thread dump request. When the server-side option `config.enable.activeThreadDump` is false (the feature is disabled), the controller responds with HTTP 500 and this message. The error is a deliberate feature gate, not a runtime failure of the dump itself.
Source
Thrown at web/src/main/java/com/navercorp/pinpoint/web/authorization/controller/ActiveThreadDumpController.java:117
) {
ClusterKey clusterKey = getClusterKey(applicationName, agentId);
ATDSupply response = this.activeThreadDumpService.getLightDump(
clusterKey, threadNameList, localTraceIdList, limit);
AgentActiveThreadDumpList activeThreadDumpList = (new AgentActiveThreadDumpFactory())
.create2(response.getThreadDumps());
return CodeResult.ok(new ThreadDumpResult(
activeThreadDumpList,
response.getType(),
response.getSubType(),
response.getVersion()
));
}
private ClusterKey getClusterKey(String applicationName, String agentId) {
if (!this.webProperties.isEnableActiveThreadDump()) {
throw new ResponseStatusException(
HttpStatus.INTERNAL_SERVER_ERROR,
"Disable activeThreadDump option. 'config.enable.activeThreadDump=false'"
);
}
final ClusterKey clusterKey = this.agentService.getClusterKey(applicationName, agentId);
if (clusterKey == null) {
throw new ResponseStatusException(
HttpStatus.INTERNAL_SERVER_ERROR,
String.format("Cannot find suitable agent(%s/%s)", applicationName, agentId)
);
}
return clusterKey;
}
}
View on GitHub (pinned to 744c3d3075)
Solutions
- Enable the feature in the Pinpoint Web configuration: set config.enable.activeThreadDump=true in pinpoint-web.properties and restart the web module
- If the feature must stay disabled, hide/disable the thread dump UI action in the frontend instead of calling the API
- Verify the correct property file/profile is loaded — a typo or wrong profile leaves the flag at its default (false)
Example fix
// before (pinpoint-web.properties) # config.enable.activeThreadDump=false // after config.enable.activeThreadDump=true
Defensive patterns
Strategy: try-catch
Validate before calling
// check server capability before calling
const dumpEnabled = await fetchAdminConfig().then(c => c.enableActiveThreadDump);
if (!dumpEnabled) { console.warn('activeThreadDump disabled on server'); return null; } Try / catch
try {
return await api.getActiveThreadDump({ applicationName, agentId });
} catch (e) {
if (e.status === 500 && String(e.message).includes('Disable activeThreadDump option')) {
return null; // feature disabled on server — degrade gracefully
}
throw e;
} Prevention
- Set config.enable.activeThreadDump=true in pinpoint-web.properties if thread dump is needed
- Feature-detect the endpoint in the UI and hide the thread-dump action when the server reports it disabled
- Document the flag in deployment runbooks so operators don't ship with it off unintentionally
- After upgrades, re-check property names against release notes
When it happens
Trigger: Calling any activeThreadDump endpoint (clusterKey/threadDump) while the Pinpoint Web server was started with config.enable.activeThreadDump=false (or the property is absent and defaults to disabled).
Common situations: Deploying Pinpoint Web with default configuration that leaves activeThreadDump disabled, then the frontend thread-dump panel calls the API; upgrading Pinpoint where the option was renamed/moved in pinpoint-web.properties; operators deliberately disabling the feature for security but forgetting the UI still shows the button.
Related errors
- Micrometer is not enabled
- Unknown AgentType:
- Failed to detect pinpoint profile. Please add -Dpinpoint.act
- unsupported profile or profile alias:
- %s load fail Caused by:%s
AI-assisted analysis of pinpoint-apm/pinpoint@744c3d3075 (2026-09-07).
Data as JSON: /api/errors/321dfe677d81cc93.
Report an issue: GitHub.