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
- Verify the Media Driver is running and responsive before connecting the client
- Increase Context.driverTimeoutMs to accommodate slow driver startup or pauses
- Check driver logs/GC logs for stalls; restart the driver if hung
- 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
- Start the driver before clients and verify readiness
- Set Context.driverTimeoutMs generously for slow environments
- Monitor driver health; the client is terminated after this error so full reconnect is required
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
- Driver events adapter is invalid
- MediaDriver ( ) keepalive: age= ms > timeout= ms
- CnC file is created but not initialised
- CnC file not created: <cncFile.getAbsolutePath()>
- CnC file is created but not populated…
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)