apache/cassandra · error · ConfigurationException

Invalid value of entire_sstable_inter_dc_stream_throughput_o

Error message

Invalid value of entire_sstable_inter_dc_stream_throughput_outbound: 

What it means

Same int-overflow validation as error 210 but for entire_sstable_inter_dc_stream_throughput_outbound: the value in MiB/s must be < Integer.MAX_VALUE. DatabaseDescriptor throws this ConfigurationException at startup when the configured inter-DC entire-SSTable streaming throughput cannot fit the internal int rate limiter.

Source

Thrown at src/java/org/apache/cassandra/config/DatabaseDescriptor.java:1319

        // 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
        if (conf.stream_throughput_outbound.toMegabitsPerSecond() >= Integer.MAX_VALUE)
        {
            throw new ConfigurationException("Invalid value of stream_throughput_outbound: " + conf.stream_throughput_outbound.toString(), false);
        }

        if (conf.inter_dc_stream_throughput_outbound.toMegabitsPerSecond() >= Integer.MAX_VALUE)
        {
            throw new ConfigurationException("Invalid value of inter_dc_stream_throughput_outbound: " + conf.inter_dc_stream_throughput_outbound.toString(), false);
        }

        if (conf.entire_sstable_stream_throughput_outbound.toMebibytesPerSecond() >= Integer.MAX_VALUE)
        {
            throw new ConfigurationException("Invalid value of entire_sstable_stream_throughput_outbound: " + conf.entire_sstable_stream_throughput_outbound.toString(), false);
        }

        if (conf.entire_sstable_inter_dc_stream_throughput_outbound.toMebibytesPerSecond() >= Integer.MAX_VALUE)
        {
            throw new ConfigurationException("Invalid value of entire_sstable_inter_dc_stream_throughput_outbound: " + conf.entire_sstable_inter_dc_stream_throughput_outbound.toString(), false);
        }

        if (conf.compaction_throughput.toMebibytesPerSecond() >= Integer.MAX_VALUE)
        {
            throw new ConfigurationException("Invalid value of compaction_throughput: " + conf.compaction_throughput.toString(), false);
        }
    }

    @VisibleForTesting
    static void applyConcurrentValidations(Config config)
    {
        if (config.concurrent_validations < 1)
        {
            config.concurrent_validations = config.concurrent_compactors;
        }
        else if (config.concurrent_validations > config.concurrent_compactors && !allowUnlimitedConcurrentValidations)
        {
            throw new ConfigurationException("To set concurrent_validations > concurrent_compactors, " +

View on GitHub (pinned to 88fd0f6a0e)

Solutions

  1. Set entire_sstable_inter_dc_stream_throughput_outbound to a value below Integer.MAX_VALUE MiB/s
  2. Use the documented disabled/unlimited value instead of a huge number
  3. Check the unit suffix and numeric literal for typos
  4. Confirm the parsed value shown in the exception matches what you intended

Example fix

// before (cassandra.yaml)
entire_sstable_inter_dc_stream_throughput_outbound: 9999999999MiB
// after
entire_sstable_inter_dc_stream_throughput_outbound: 200MiB
Defensive patterns

Strategy: validation

Validate before calling

long v = conf.entire_sstable_inter_dc_stream_throughput_outbound.toMebibytesPerSecond();
if (v < 0 || v >= Integer.MAX_VALUE) throw new IllegalArgumentException("entire_sstable_inter_dc_stream_throughput_outbound out of range: " + v);

Try / catch

try { DatabaseDescriptor.daemonInitialization(); } catch (ConfigurationException e) { LOG.error("Bad inter-DC throughput config: " + e.getMessage()); System.exit(1); }

Prevention

When it happens

Trigger: entire_sstable_inter_dc_stream_throughput_outbound in cassandra.yaml set so that toMebibytesPerSecond() >= 2147483647, encountered during DatabaseDescriptor.daemonInitialization/applySimpleConfig.

Common situations: Unit-suffix typos in cassandra.yaml; operator setting an enormous number to 'disable' inter-DC entire-SSTable throttling; automated config generation producing overflow values.

Understand the failure class

Background: "Invalid value" and "allowed values are" config errors: what your library rejected and how to fix it — this error's family across 41 libraries.

Related errors


AI-assisted analysis of apache/cassandra@88fd0f6a0e (2026-09-10). Data as JSON: /api/errors/211d70cc760f809b. Report an issue: GitHub.