apache/cassandra · warning
Failed closing
Error message
Failed closing {} What it means
closeQuitely is the manager's swallow-all close helper: it closes a component (trainer, scheduler, cache) and on any exception logs 'Failed closing {objectName}' with the stack trace instead of propagating. It indicates one dictionary-compression component did not shut down cleanly.
Solutions
- Read the logged exception to identify which component (trainer/scheduler/cache) failed to close.
- Ensure no concurrent schema change disables compression while training is in progress.
- Restart the node or re-toggle dictionary compression to rebuild clean component state.
- If it recurs deterministically, treat as a bug in that component's close() idempotency and report it.
Defensive patterns
Strategy: try-catch
Try / catch
try { component.close(); } catch (Exception e) { logger.warn("Failed closing {}", name, e); /* continue shutdown */ } Prevention
- Make component close() idempotent so double-close is harmless.
- Stop background tasks before closing their owners.
When it happens
Trigger: close() iterates its closeables and one of their close() implementations throws; closeQuitely catches and logs this warning with the component name and exception.
Common situations: Closing while background training/refresh is executing; underlying cache dictionary refs already closed (double close); executor shutdown failures during node shutdown or compression reconfiguration.
Related errors
- Failed to close CompressionDictionaryManager on disabling…
- Access forbidden
- Attempted to release storage-attached index segment builder…
- Bootstrap can be started exactly once, but seems to have…
- Cannot access method create in
AI-assisted analysis of apache/cassandra@88fd0f6a0e (2026-09-10).
Data as JSON: /api/errors/d51d9035455aac28.
Report an issue: GitHub.
Appendix: source
Thrown at src/java/org/apache/cassandra/db/compression/CompressionDictionaryManager.java:402
private void unregisterMbean()
{
if (mbeanRegistered)
{
MBeanWrapper.instance.unregisterMBean(mbeanName(keyspaceName, tableName), OnException.IGNORE);
mbeanRegistered = false;
}
}
private void closeQuitely(AutoCloseable closeable, String objectName)
{
try
{
closeable.close();
}
catch (Exception exception)
{
logger.warn("Failed closing {}", objectName, exception);
}
}
}
View on GitHub (pinned to 88fd0f6a0e)