{"record":{"id":"d7abe84c8dc93755","repo":"apache/cassandra","slug":"error-occurred-during-enabling-auto-compaction-d7abe8","errorCode":null,"errorMessage":"Error occurred during enabling auto-compaction","messagePattern":"Error occurred during enabling auto-compaction","errorType":"console","errorClass":"RuntimeException","httpStatus":null,"severity":"error","filePath":"src/java/org/apache/cassandra/tools/nodetool/RecompressSSTables.java","lineNumber":67,"sourceCode":"    private int jobs = 2;\n\n    @Override\n    public void execute(NodeProbe probe)\n    {\n        args = concatArgs(keyspace, tables);\n\n        List<String> keyspaces = parseOptionalKeyspace(args, probe);\n        String[] tableNames = parseOptionalTables(args);\n\n        for (String keyspace : keyspaces)\n        {\n            try\n            {\n                probe.recompressSSTables(probe.output().out, keyspace, jobs, tableNames);\n            }\n            catch (Exception e)\n            {\n                throw new RuntimeException(\"Error occurred during enabling auto-compaction\", e);\n            }\n        }\n    }\n}","sourceCodeStart":49,"sourceCodeEnd":71,"githubUrl":"https://github.com/apache/cassandra/blob/88fd0f6a0eaed8943f05ac9e8f947882b8ddc8f1/src/java/org/apache/cassandra/tools/nodetool/RecompressSSTables.java#L49-L71","documentation":"Nodetool RecompressSSTables wraps any exception from the JMX recompressSSTables call in a RuntimeException with a misleading message ('Error occurred during enabling auto-compaction' — copied from the SetAutoCompaction tool). It signals the actual recompression request failed, not auto-compaction state.","triggerScenarios":"`nodetool recompress_sstables` (with optional keyspace/tables/jobs) when the node-side recompression cannot start: unknown table, invalid jobs value, concurrent compaction conflicts, or any IOException/remote exception over JMX.","commonSituations":"Typo'd table names; passing a jobs number the node rejects; running during ongoing compactions; JMX connection issues.","solutions":["Read the wrapped cause for the real failure and check node logs","Verify keyspace/table names with `nodetool describecluster`/sstablemetadata or cqlsh DESCRIBE","Use a valid jobs count (0 lets the node decide)","Ensure no conflicting compaction operation is running (`nodetool compactionstats`)"],"exampleFix":"// before\nnodetool recompress_sstables myks wrong_table\n// after\nnodetool recompress_sstables myks correct_table","handlingStrategy":"try-catch","validationCode":"nodetool compactionstats | grep -q recompress && echo \"recompression already running\"","typeGuard":null,"tryCatchPattern":"try { probe.recompressSSTables(out, ks, jobs, tables); } catch (RuntimeException e) { Throwable cause = e.getCause(); log.warn(\"recompress failed: {}\", cause == null ? e : cause.getMessage()); throw e; }","preventionTips":["Verify table names before invoking","Check compactionstats for conflicts first","Ignore the misleading message — read the cause"],"tags":["nodetool","compaction","jmx","misleading-message"],"backgroundTag":"api-request-failed","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"}