{"record":{"id":"d2e7db751b754621","repo":"apache/cassandra","slug":"entire-sstable-stream-throughput-outbound-s-is-t","errorCode":null,"errorMessage":"entire_sstable_stream_throughput_outbound: %s is too large","messagePattern":"entire_sstable_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":508,"sourceCode":"                    {\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);\n                    config.entire_sstable_stream_throughput_outbound = new DataRateSpec.LongBytesPerSecondBound(0);\n                    config.entire_sstable_inter_dc_stream_throughput_outbound = new DataRateSpec.LongBytesPerSecondBound(0);\n                }\n\n                if (cmd.hasOption(STORAGE_PORT_OPTION))","sourceCodeStart":490,"sourceCodeEnd":526,"githubUrl":"https://github.com/apache/cassandra/blob/88fd0f6a0eaed8943f05ac9e8f947882b8ddc8f1/tools/sstableloader/src/org/apache/cassandra/tools/LoaderOptions.java#L490-L526","documentation":"Guard on the entire-sstable streaming throttle: if cassandra.yaml sets entire_sstable_stream_throughput_outbound to a rate converting to >= Integer.MAX_VALUE mebibytes per second, LoaderOptions.Builder throws ConfigurationException 'entire_sstable_stream_throughput_outbound: <value> is too large'. See tools/sstableloader/src/org/apache/cassandra/tools/LoaderOptions.java:508.","triggerScenarios":"sstableloader reading a config where entire_sstable_stream_throughput_outbound exceeds the int bound in MiB/s — practically only from hand-editing mistakes or generated configs with bad values.","commonSituations":"Scripts inserting placeholder/extreme values; pasted values without unit awareness; older yamls merged with newer config keys.","solutions":["Set entire_sstable_stream_throughput_outbound to a sane value (e.g. 0 to disable) in cassandra.yaml","Remove the key entirely if you don't intend to throttle entire-sstable streaming","Confirm the loaded config is the one you expect via --conf-path"],"exampleFix":"// before (cassandra.yaml)\nentire_sstable_stream_throughput_outbound: 99999999999MiB/s\n// after\nentire_sstable_stream_throughput_outbound: 0MiB/s","handlingStrategy":"validation","validationCode":"// pre-check config\n// grep entire_sstable_stream_throughput_outbound $CONF/cassandra.yaml\n// value should be a sane MiB/s rate or 0/null to disable","typeGuard":null,"tryCatchPattern":"try {\n    options = new LoaderOptions.Builder(dirs, args).build();\n} catch (ConfigurationException e) {\n    if (e.getMessage().startsWith(\"entire_sstable_stream_throughput_outbound\")) {\n        // fix the yaml value and retry\n    }\n    throw e;\n}","preventionTips":["Keep entire-sstable throttle values small and unit-correct (MiB/s)","Remove keys you don't intend to configure rather than setting extreme defaults","Review machine-generated configs before loading with sstableloader","Test against a staging config first"],"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"}