{"record":{"id":"83805ba6fec7fede","repo":"apache/cassandra","slug":"invalid-value-of-entire-sstable-stream-throughput","errorCode":null,"errorMessage":"Invalid value of entire_sstable_stream_throughput_outbound: ","messagePattern":"Invalid value of entire_sstable_stream_throughput_outbound: ","errorType":"validation","errorClass":"ConfigurationException","httpStatus":null,"severity":"error","filePath":"src/java/org/apache/cassandra/config/DatabaseDescriptor.java","lineNumber":1314,"sourceCode":"    }\n\n    @VisibleForTesting\n    static void validateUpperBoundStreamingConfig() throws ConfigurationException\n    {\n        // below 2 checks are needed in order to match the pre-CASSANDRA-15234 upper bound for those parameters which were still in megabits per second\n        if (conf.stream_throughput_outbound.toMegabitsPerSecond() >= Integer.MAX_VALUE)\n        {\n            throw new ConfigurationException(\"Invalid value of stream_throughput_outbound: \" + conf.stream_throughput_outbound.toString(), false);\n        }\n\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        {","sourceCodeStart":1296,"sourceCodeEnd":1332,"githubUrl":"https://github.com/apache/cassandra/blob/88fd0f6a0eaed8943f05ac9e8f947882b8ddc8f1/src/java/org/apache/cassandra/config/DatabaseDescriptor.java#L1296-L1332","documentation":"Thrown during Cassandra config sanity checks when the entire_sstable_stream_throughput_outbound value, converted to MiB/s, is >= Integer.MAX_VALUE. DatabaseDescriptor validates that throughput bounds fit into the internal int-based rate limiters; an absurdly large value cannot be represented. It is a fail-fast ConfigurationException raised at startup.","triggerScenarios":"Setting entire_sstable_stream_throughput_outbound in cassandra.yaml (or via a Config object) to a value whose toMebibytesPerSecond() is >= 2147483647 (e.g. 2147483648MiB or an unbounded/0-suffix misspecification) before DatabaseDescriptor.applySimpleConfig / daemon init runs.","commonSituations":"Typo in cassandra.yaml such as an extra digit or wrong unit suffix (MiB vs KiB); copy-pasted value from another cluster; operator trying to 'disable' the limit with an astronomically large number instead of the documented 0/disabled semantics.","solutions":["Lower entire_sstable_stream_throughput_outbound in cassandra.yaml to a value below 2147483647 MiB/s (e.g. 0 or a sane Mbps/MiB/s value)","Check the unit suffix in the yaml value (MiB vs KiB) and correct it","If the intent was 'no limit', use the documented disabled value (0 or -1 per version docs) instead of a huge number","Verify with the printed value in the exception message which value was actually parsed"],"exampleFix":"// before (cassandra.yaml)\nentire_sstable_stream_throughput_outbound: 2147483648MiB\n// after\nentire_sstable_stream_throughput_outbound: 200MiB","handlingStrategy":"validation","validationCode":"long v = conf.entire_sstable_stream_throughput_outbound.toMebibytesPerSecond();\nif (v < 0 || v >= Integer.MAX_VALUE) throw new IllegalArgumentException(\"entire_sstable_stream_throughput_outbound out of range: \" + v);","typeGuard":null,"tryCatchPattern":"try { DatabaseDescriptor.daemonInitialization(); } catch (ConfigurationException e) { LOG.error(\"Bad throughput config: \" + e.getMessage()); System.exit(1); }","preventionTips":["Keep throughput values well below Integer.MAX_VALUE MiB/s","Use unit suffixes explicitly (MiB) in cassandra.yaml","Use 0/-1 documented semantics for 'unlimited' instead of huge numbers","Lint cassandra.yaml values before deployment"],"tags":["configuration","startup","validation"],"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"}