{"record":{"id":"f47e27d58bf3bd8e","repo":"apache/cassandra","slug":"inter-dc-stream-throughput-outbound-s-is-too-lar","errorCode":null,"errorMessage":"inter_dc_stream_throughput_outbound: %s is too large","messagePattern":"inter_dc_stream_throughput_outbound: (.+?) is too large","errorType":"validation","errorClass":"ConfigurationException","httpStatus":null,"severity":"error","filePath":"tools/sstableloader/src/org/apache/cassandra/tools/LoaderOptions.java","lineNumber":503,"sourceCode":"                Config config;\n                if (cmd.hasOption(CONFIG_PATH))\n                {\n                    File configFile = new File(cmd.getOptionValue(CONFIG_PATH));\n                    if (!configFile.exists())\n                    {\n                        errorMsg(\"Config file not found\", options);\n                    }\n                    config = new YamlConfigurationLoader().loadConfig(configFile.toPath().toUri().toURL());\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 (config.stream_throughput_outbound.toMegabitsPerSecond() >= Integer.MAX_VALUE)\n                    {\n                        throw new ConfigurationException(\"stream_throughput_outbound: \" + config.stream_throughput_outbound.toString() + \" is too large\", false);\n                    }\n\n                    if (config.inter_dc_stream_throughput_outbound.toMegabitsPerSecond() >= Integer.MAX_VALUE)\n                    {\n                        throw new ConfigurationException(\"inter_dc_stream_throughput_outbound: \" + config.inter_dc_stream_throughput_outbound.toString() + \" is too large\", false);\n                    }\n\n                    if (config.entire_sstable_stream_throughput_outbound.toMebibytesPerSecond() >= Integer.MAX_VALUE)\n                    {\n                        throw new ConfigurationException(\"entire_sstable_stream_throughput_outbound: \" + config.entire_sstable_stream_throughput_outbound.toString() + \" is too large\", false);\n                    }\n\n                    if (config.entire_sstable_inter_dc_stream_throughput_outbound.toMebibytesPerSecond() >= Integer.MAX_VALUE)\n                    {\n                        throw new ConfigurationException(\"entire_sstable_inter_dc_stream_throughput_outbound: \" + config.entire_sstable_inter_dc_stream_throughput_outbound.toString() + \" is too large\", false);\n                    }\n                }\n                else\n                {\n                    config = new Config();\n                    // unthrottle stream by default\n                    config.stream_throughput_outbound = new DataRateSpec.LongBytesPerSecondBound(0);\n                    config.inter_dc_stream_throughput_outbound = new DataRateSpec.LongBytesPerSecondBound(0);","sourceCodeStart":485,"sourceCodeEnd":521,"githubUrl":"https://github.com/apache/cassandra/blob/88fd0f6a0eaed8943f05ac9e8f947882b8ddc8f1/tools/sstableloader/src/org/apache/cassandra/tools/LoaderOptions.java#L485-L521","documentation":"Same pre-CASSANDRA-15234 int-overflow guard applied to inter_dc_stream_throughput_outbound: if the configured cross-datacenter outbound stream rate converts to >= Integer.MAX_VALUE megabits per second, Builder throws ConfigurationException 'inter_dc_stream_throughput_outbound: <value> is too large'. See tools/sstableloader/src/org/apache/cassandra/tools/LoaderOptions.java:503.","triggerScenarios":"sstableloader loading a cassandra.yaml where inter_dc_stream_throughput_outbound is so high that toMegabitsPerSecond() >= Integer.MAX_VALUE — a typo'd or unit-confused rate.","commonSituations":"Mis-edited cassandra.yaml with an absurd inter-DC throttle; unit confusion when migrating configs between Cassandra versions.","solutions":["Set inter_dc_stream_throughput_outbound to a realistic rate (e.g. 50MiB/s) or null (unthrottled)","Verify units — the value is a rate, not raw megabits","Ensure --conf-path points at the intended config"],"exampleFix":"// before (cassandra.yaml)\ninter_dc_stream_throughput_outbound: 2147483648Mbps\n// after\ninter_dc_stream_throughput_outbound: 50MiB/s","handlingStrategy":"validation","validationCode":"// pre-check config\n// grep inter_dc_stream_throughput_outbound $CONF/cassandra.yaml\n// value should be like '50MiB/s' or null, never >= 2^31 Mbps","typeGuard":null,"tryCatchPattern":"try {\n    options = new LoaderOptions.Builder(dirs, args).build();\n} catch (ConfigurationException e) {\n    if (e.getMessage().startsWith(\"inter_dc_stream_throughput_outbound\")) {\n        // correct the yaml and retry\n    }\n    throw e;\n}","preventionTips":["Set inter-DC throttles to realistic rates (e.g. 50MiB/s) or null","Validate config after migration between Cassandra versions","Avoid scripting extreme placeholder values into cassandra.yaml","Use --conf-path to pin the intended config file"],"tags":["config","yaml","sstableloader"],"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-17T15:17:12.973Z"}