{"record":{"id":"16c6349170f0b673","repo":"apache/cassandra","slug":"invalid-value-of-stream-throughput-outbound","errorCode":null,"errorMessage":"Invalid value of stream_throughput_outbound: ","messagePattern":"Invalid value of stream_throughput_outbound: ","errorType":"validation","errorClass":"ConfigurationException","httpStatus":null,"severity":"error","filePath":"src/java/org/apache/cassandra/config/DatabaseDescriptor.java","lineNumber":1304,"sourceCode":"            // is thrown when arguments are invalid instead ConfigurationException, on purpose.\n            DatabaseDescriptor.setGCLogThreshold((int) DatabaseDescriptor.getGCLogThreshold());\n            DatabaseDescriptor.setGCWarnThreshold((int) DatabaseDescriptor.getGCWarnThreshold());\n            DatabaseDescriptor.setGCConcurrentPhaseLogThreshold(DatabaseDescriptor.getGCConcurrentPhaseLogThreshold());\n            DatabaseDescriptor.setGCConcurrentPhaseWarnThreshold(DatabaseDescriptor.getGCConcurrentPhaseWarnThreshold());\n        }\n        catch (IllegalArgumentException ex)\n        {\n            throw new ConfigurationException(ex.getMessage());\n        }\n    }\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)","sourceCodeStart":1286,"sourceCodeEnd":1322,"githubUrl":"https://github.com/apache/cassandra/blob/88fd0f6a0eaed8943f05ac9e8f947882b8ddc8f1/src/java/org/apache/cassandra/config/DatabaseDescriptor.java#L1286-L1322","documentation":"validateUpperBoundStreamingConfig preserves the pre-CASSANDRA-15234 upper bound where stream_throughput_outbound was expressed in megabits per second as an int. DatabaseDescriptor throws this ConfigurationException when the configured rate, converted to megabits/second, is >= Integer.MAX_VALUE.","triggerScenarios":"DatabaseDescriptor static initialization with stream_throughput_outbound >= 2147483647 megabits per second in cassandra.yaml.","commonSituations":"Extremely large stream_throughput_outbound values (often from unit mistakes, e.g. confusing bytes/sec with bits/sec) in cassandra.yaml.","solutions":["Set stream_throughput_outbound to a realistic rate well below Integer.MAX_VALUE megabits per second","Check the unit suffix (e.g. 200MiB/s) - an accidental huge value usually indicates a unit error"],"exampleFix":"// before (cassandra.yaml)\nstream_throughput_outbound: 9999999999999MiB/s\n// after\nstream_throughput_outbound: 200MiB/s","handlingStrategy":"validation","validationCode":"if (conf.stream_throughput_outbound.toMegabitsPerSecond() >= Integer.MAX_VALUE) throw new IllegalArgumentException(\"stream_throughput_outbound too large\");","typeGuard":null,"tryCatchPattern":"try { DatabaseDescriptor.daemonInitialization(); } catch (ConfigurationException e) { log.error(e.getMessage()); }","preventionTips":["Set streaming throughput in realistic units (MiB/s) with explicit suffixes","Sanity-check cassandra.yaml rates before deployment"],"tags":["cassandra","configuration","streaming"],"backgroundTag":"value-out-of-range","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"}