aeron-io/aeron · error · ConfigurationException

greater than max size of

Error message

${name} greater than max size of ${maxValue}: ${value}

What it means

Generic upper-bound check in Aeron driver Configuration.validateValueRange: a named long configuration value exceeds its allowed maximum. Thrown as ConfigurationException during configuration validation.

Solutions

  1. Lower the value to within the stated max in the message
  2. Check the corresponding MAX_* constant in Configuration for the exact ceiling
  3. Verify units (bytes vs KB/MB) to avoid accidental overflow of the limit

Example fix

// before
ctx.termBufferLength(4L * 1024 * 1024 * 1024); // exceeds max -> ConfigurationException
// after
ctx.termBufferLength(1L * 1024 * 1024 * 1024); // within allowed range
Defensive patterns

Strategy: validation

Validate before calling

if (value > Configuration.maxValueFor(name)) { throw new IllegalArgumentException(name + " above maximum"); } // or compare against the documented MAX_* constant

Prevention

When it happens

Trigger: Any driver configuration value routed through validateValueRange set above its documented maximum, e.g. an oversized buffer length or window, via context setters or aeron.driver.* system properties.

Common situations: Developers set very large term buffer or file sizes (e.g. trying 1GB terms) exceeding Aeron's max limits, or unit mistakes like passing bytes where an already-byte value times 1024 is computed again.

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/c3edefa5d2f88bb5. Report an issue: GitHub.

Appendix: source

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

     * @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)