{"record":{"id":"bc6d8c3037605591","repo":"apache/cassandra","slug":"invalid-value-of-compaction-throughput","errorCode":null,"errorMessage":"Invalid value of compaction_throughput: ","messagePattern":"Invalid value of compaction_throughput: ","errorType":"validation","errorClass":"ConfigurationException","httpStatus":null,"severity":"error","filePath":"src/java/org/apache/cassandra/config/DatabaseDescriptor.java","lineNumber":1324,"sourceCode":"\n        if (conf.inter_dc_stream_throughput_outbound.toMegabitsPerSecond() >= Integer.MAX_VALUE)\n        {\n            throw new ConfigurationException(\"Invalid value of inter_dc_stream_throughput_outbound: \" + conf.inter_dc_stream_throughput_outbound.toString(), false);\n        }\n\n        if (conf.entire_sstable_stream_throughput_outbound.toMebibytesPerSecond() >= Integer.MAX_VALUE)\n        {\n            throw new ConfigurationException(\"Invalid value of entire_sstable_stream_throughput_outbound: \" + conf.entire_sstable_stream_throughput_outbound.toString(), false);\n        }\n\n        if (conf.entire_sstable_inter_dc_stream_throughput_outbound.toMebibytesPerSecond() >= Integer.MAX_VALUE)\n        {\n            throw new ConfigurationException(\"Invalid value of entire_sstable_inter_dc_stream_throughput_outbound: \" + conf.entire_sstable_inter_dc_stream_throughput_outbound.toString(), false);\n        }\n\n        if (conf.compaction_throughput.toMebibytesPerSecond() >= Integer.MAX_VALUE)\n        {\n            throw new ConfigurationException(\"Invalid value of compaction_throughput: \" + conf.compaction_throughput.toString(), false);\n        }\n    }\n\n    @VisibleForTesting\n    static void applyConcurrentValidations(Config config)\n    {\n        if (config.concurrent_validations < 1)\n        {\n            config.concurrent_validations = config.concurrent_compactors;\n        }\n        else if (config.concurrent_validations > config.concurrent_compactors && !allowUnlimitedConcurrentValidations)\n        {\n            throw new ConfigurationException(\"To set concurrent_validations > concurrent_compactors, \" +\n                                             \"set the system property -D\" + ALLOW_UNLIMITED_CONCURRENT_VALIDATIONS.getKey() + \"=true\");\n        }\n    }\n\n    @VisibleForTesting","sourceCodeStart":1306,"sourceCodeEnd":1342,"githubUrl":"https://github.com/apache/cassandra/blob/88fd0f6a0eaed8943f05ac9e8f947882b8ddc8f1/src/java/org/apache/cassandra/config/DatabaseDescriptor.java#L1306-L1342","documentation":"Thrown when compaction_throughput in MiB/s is >= Integer.MAX_VALUE; the compaction rate limiter stores the rate as an int, so DatabaseDescriptor rejects values that would overflow at startup with this ConfigurationException.","triggerScenarios":"compaction_throughput in cassandra.yaml (or via Config) set to a value whose toMebibytesPerSecond() >= 2147483647, during config application at node startup.","commonSituations":"Unit typo (e.g. writing bytes instead of MiB); operator attempting 'unlimited compaction throughput' with an extreme number; generated configs from tooling with wrong scaling.","solutions":["Reduce compaction_throughput to a sane value below Integer.MAX_VALUE MiB/s (e.g. 64MiB)","Use 0 (or the version's documented disabled value) to effectively remove the throttle","Check the unit suffix for typos","Re-run startup after fixing; the exception message shows the offending value"],"exampleFix":"// before (cassandra.yaml)\ncompaction_throughput: 4294967296MiB\n// after\ncompaction_throughput: 64MiB","handlingStrategy":"validation","validationCode":"long v = conf.compaction_throughput.toMebibytesPerSecond();\nif (v < 0 || v >= Integer.MAX_VALUE) throw new IllegalArgumentException(\"compaction_throughput out of range: \" + v);","typeGuard":null,"tryCatchPattern":"try { DatabaseDescriptor.daemonInitialization(); } catch (ConfigurationException e) { LOG.error(\"Bad compaction_throughput: \" + e.getMessage()); System.exit(1); }","preventionTips":["Use typical values (16-128 MiB/s) unless deliberately throttling off","Use 0 to disable throttling per docs","Check yaml unit suffixes","Test config on a staging node first"],"tags":["configuration","compaction","startup"],"backgroundTag":"invalid-config-value","analyzedSha":"88fd0f6a0eaed8943f05ac9e8f947882b8ddc8f1","analyzedAt":"2026-09-10T07:29:22.284Z","contentChangedAt":"2026-09-10T07:29:22.284Z","schemaVersion":2},"datasetVersion":"2026-09-14T16:17:12.679Z"}