aeron-io/aeron · error · DriverTimeoutException

no response from MediaDriver within

Error message

no response from MediaDriver within <formatted duration>

What it means

DriverTimeoutException thrown when the client awaited a response from the Media Driver for a correlated command and the driver did not reply within the configured driverTimeoutNs. The conductor terminates on this timeout because client-driver state can no longer be trusted to be consistent.

Solutions

  1. Verify the Media Driver is running and responsive before connecting the client
  2. Increase Context.driverTimeoutMs to accommodate slow driver startup or pauses
  3. Check driver logs/GC logs for stalls; restart the driver if hung
  4. After this error the client is terminated: create a fresh Aeron instance to retry

Example fix

// before
Aeron aeron = Aeron.connect(new Aeron.Context().driverTimeoutMs(1000)); // too aggressive
// after
Aeron aeron = Aeron.connect(new Aeron.Context().driverTimeoutMs(30_000));
Defensive patterns

Strategy: retry

Validate before calling

if (!isDriverRunning(aeronDir)) { startDriver(); } // check process/lock before connect

Try / catch

catch (DriverTimeoutException e) { if (e.getMessage().startsWith("no response from MediaDriver")) { restartDriverIfDown(); client = Aeron.connect(ctx); } }

Prevention

When it happens

Trigger: addPublication/addSubscription/addCounter/removePublication etc. when the driver is hung, down, overloaded, or the IPC command queue is blocked; driver timeout configured smaller than realistic driver startup or GC pauses.

Common situations: Driver not started before client connect; driver stuck in long GC or blocked I/O; client driverTimeout set too low (default 10s) for slow environments; IPC file permissions preventing commands from being processed.

Understand the failure class

Background: Request timed out: what client-side request timeouts mean across libraries (Request timed out, TIMED_OUT, APITimeoutError) — this error's family across 39 libraries.

Related errors


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

Appendix: source

Thrown at aeron-client/src/main/java/io/aeron/ClientConductor.java:1848

                final RegistrationException ex = driverException;
                if (null != ex)
                {
                    driverException = null;
                    throw ex;
                }

                return;
            }

            if (Thread.currentThread().isInterrupted())
            {
                terminateConductor();
                throw new AeronException("unexpected interrupt");
            }
        }
        while (deadlineNs - nanoClock.nanoTime() > 0);

        throw new DriverTimeoutException("no response from MediaDriver within " +
            SystemUtil.formatDuration(driverTimeoutNs));
    }

    private int checkTimeouts(final long nowNs)
    {
        int workCount = 0;

        if ((timeOfLastServiceNs + idleSleepDurationNs) - nowNs < 0)
        {
            checkServiceInterval(nowNs);
            timeOfLastServiceNs = nowNs;

            workCount += checkLiveness(nowNs);
            workCount += checkLingeringResources(nowNs);
        }

        return workCount;
    }

View on GitHub (pinned to 6d60124e15)