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

  1. Read the logged exception to identify which component (trainer/scheduler/cache) failed to close.
  2. Ensure no concurrent schema change disables compression while training is in progress.
  3. Restart the node or re-toggle dictionary compression to rebuild clean component state.
  4. 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

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


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)