aeron-io/aeron · error · ConfigurationException

less than min size of

Error message

${name} less than min size of ${minValue}: ${value}

What it means

Generic lower-bound check in Aeron driver Configuration.validateValueRange: a named long configuration value is below its allowed minimum. The driver rejects the configuration with ConfigurationException at startup/validation time.

Solutions

  1. Raise the value to at least the stated minimum in the message
  2. Use Configuration default values instead of hand-picked small values
  3. Check the corresponding public static MIN_* constant in Configuration for the exact floor

Example fix

// before
ctx.publicationTermWindowLength(1024); // below min -> ConfigurationException
// after
ctx.publicationTermWindowLength(Configuration.publicationTermWindowLength()); // validated default
Defensive patterns

Strategy: validation

Validate before calling

if (value < Configuration.minValueFor(name)) { throw new IllegalArgumentException(name + " below minimum"); } // or compare against the documented MIN_* constant

Prevention

When it happens

Trigger: Any driver configuration option routed through validateValueRange (e.g. term buffer lengths, window sizes) given a value smaller than the documented minimum, typically via context setters or aeron.driver.* system properties.

Common situations: Setting termBufferLength or initialWindowLength below Aeron's minimum (e.g. 64KB term buffer, or window smaller than MTU-sized minimums) when trying to shrink memory footprint.

Understand the failure class

Background: "value must be between 0 and 1" / "out of range" / "must not be negative" errors: fixing range-validation failures across open-source libraries — this error's family across 42 libraries.

Related errors


AI-assisted analysis of aeron-io/aeron@6d60124e15 (2026-09-12). Data as JSON: /api/errors/1e070f99e7f225cf. Report an issue: GitHub.

Appendix: source

Thrown at aeron-driver/src/main/java/io/aeron/driver/Configuration.java:2663

        }
    }

    /**
     * Create a source identity for a given source address.
     *
     * @param srcAddress to be used for the identity.
     * @return a source identity string for a given address.
     */
    public static String sourceIdentity(final InetSocketAddress srcAddress)
    {
        return srcAddress.getHostString() + ':' + srcAddress.getPort();
    }

    static void validateValueRange(final long value, final long minValue, final long maxValue, final String name)
    {
        if (value < minValue)
        {
            throw new ConfigurationException(
                name + " less than min size of " + minValue + ": " + value);
        }

        if (value > maxValue)
        {
            throw new ConfigurationException(
                name + " greater than max size of " + maxValue + ": " + value);
        }
    }
}

View on GitHub (pinned to 6d60124e15)