Skip to main content

AFS_AETHER_RECONNECT_JITTER_PERCENT

Deep-dive reference for:

  • AFS_AETHER_RECONNECT_JITTER_PERCENT

Status

  • active

Audience

  • production/user

Type and Default

  • Type: floating-point percentage (f64).
  • Default: 20.0 (20%).
  • Valid range: 0.0 to 100.0 (inclusive).

What It Does

Controls random jitter applied to bridge reconnect backoff delays.

Aether maps this percentage to the bridge client jitter factor as:

  • jitter_factor = jitter_percent / 100.0

So 20.0 becomes 0.20, meaning each reconnect delay is randomly adjusted within the configured jitter envelope. This reduces thundering-herd reconnect behavior when many clients reconnect at once.

Where It Applies

  • Bridge mode reconnect policy used by the changefeed bridge client.
  • Applied together with:
    • AFS_AETHER_RECONNECT_START_MS
    • AFS_AETHER_RECONNECT_MAX_MS
    • AFS_AETHER_RECONNECT_MULTIPLIER

Input Surfaces

  • Env: AFS_AETHER_RECONNECT_JITTER_PERCENT=<percent>
  • Config file (aether.toml):
    • [bridge.reconnect_backoff]
    • jitter_percent = <percent>

Resolution and Validation

Resolution order:

  1. Built-in default (20.0)
  2. aether.toml bridge reconnect block
  3. Env override (AFS_AETHER_RECONNECT_JITTER_PERCENT)

Validation:

  • Must be numeric and non-negative at parse time.
  • Final bridge backoff validation enforces:
    • jitter_percent >= 0
    • jitter_percent <= 100
    • (plus related backoff constraints such as max_ms >= start_ms)

Practical Guidance

  • 0 disables jitter (deterministic backoff).
  • 10-30 is usually a sane production range.
  • Very high jitter increases reconnect spread and can slow average recovery.

Example

  • Env:
    • AFS_AETHER_RECONNECT_JITTER_PERCENT=12.5
  • TOML:
    • [bridge.reconnect_backoff]
    • jitter_percent = 12.5
  • AFS_AETHER_RECONNECT_START_MS
  • AFS_AETHER_RECONNECT_MAX_MS
  • AFS_AETHER_RECONNECT_MULTIPLIER

Primary Implementation Sources

  • packages/aether/src/config/types/model_defaults.rs
  • packages/aether/src/config/types/config_resolution.rs
  • packages/aether-remote/src/bridge/adapters.rs
  • packages/aether-remote/src/mount/orchestrator.rs