eclipse-vertx/vert.x · error · IllegalArgumentException
HTTP/3 keepAliveTimeout must be >= 0
Error message
HTTP/3 keepAliveTimeout must be >= 0
What it means
Configuration validation in Http3ClientConfig.setKeepAliveTimeout: the Duration controlling idle HTTP/3 connection eviction from the pool must be non-negative (zero or null disables the timeout). Negative durations are rejected by the setter.
Source
Thrown at vertx-core/src/main/java/io/vertx/core/http/Http3ClientConfig.java:86
}
/**
* @return the keep alive timeout value in seconds for HTTP/3 connections
*/
public Duration getKeepAliveTimeout() {
return keepAliveTimeout;
}
/**
* <p>Set the keep alive timeout for HTTP/3 connections. This value determines how long a connection remains
* unused in the pool before being evicted and closed. A timeout of zero or {@code null} means there is no timeout.</p>
*
* @param keepAliveTimeout the timeout, in seconds
* @return a reference to this, so the API can be used fluently
*/
public Http3ClientConfig setKeepAliveTimeout(Duration keepAliveTimeout) {
if (keepAliveTimeout != null && (keepAliveTimeout.isNegative())) {
throw new IllegalArgumentException("HTTP/3 keepAliveTimeout must be >= 0");
}
this.keepAliveTimeout = keepAliveTimeout;
return this;
}
/**
* @return the initial HTTP/3 connection settings sent by the client
*/
public Http3Settings getInitialSettings() {
return initialSettings;
}
/**
* Set the HTTP/3 connection settings sent by the client.
*
* @param settings the settings value
* @return a reference to this, so the API can be used fluently
*/View on GitHub (pinned to fb308bd8c3)
Solutions
- Use a zero or positive Duration (or null)
- Validate Duration values from external configuration
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at vertx-core/src/main/java/io/vertx/core/http/Http3ClientConfig.java:86 when the library encounters an invalid state.
Common situations: See trigger scenarios.
Understand the failure class
- Timeouts: ETIMEDOUT, deadlines, and hung requests — what actually expires when a request times out.
AI-assisted analysis of eclipse-vertx/vert.x@fb308bd8c3 (2026-09-06).
Data as JSON: /api/errors/bf888d4ff640abbd.
Report an issue: GitHub.