influxdata/influxdb · warning · Error

this service is overloaded, please try again later

Error message

this service is overloaded, please try again later

What it means

This error is returned when the HTTP service is already servicing the maximum permitted number of simultaneous requests. The router deliberately rejects additional work with this message so clients can back off, rather than queuing unbounded work and exhausting memory. It is a transient overload condition, not a client bug.

Solutions

  1. Retry the request after a delay using exponential backoff with jitter; this is designed as a retryable condition (typically HTTP 429/503).
  2. Reduce client-side concurrency: cap in-flight requests or batch writes into fewer, larger requests.
  3. Check server config for the request-limit setting and raise it if resources allow.
  4. Look for slow queries or blocked writers holding request slots and tune those workloads.

Example fix

// before
// fire 500 write requests at once
for req in requests { tokio::spawn(send(req)); }
// after
let sem = Arc::new(Semaphore::new(16)); // cap concurrency
for req in requests {
    let permit = sem.clone().acquire_owned().await?;
    tokio::spawn(async move { let _p = permit; send(req).await; });
}
// plus: retry on 429 with backoff
Defensive patterns

Strategy: retry

Try / catch

// retry on 429/503 with exponential backoff + jitter
match resp.status() {
    s if s == 429 || s == 503 => {
        tokio::time::sleep(backoff.next_delay()).await;
        continue; // retry the request
    }
    _ => break,
}

Prevention

When it happens

Trigger: Sending requests while the server's connection/request limit (semaphore) is saturated, e.g. during bulk-load bursts, many concurrent writers, or a slow query storm holding request slots.

Common situations: Load tests or parallel ETL jobs with no client-side concurrency cap; production traffic spikes; a slow downstream (compaction, object store) causing requests to pile up.

Related errors


AI-assisted analysis of influxdata/influxdb@06200ef96b (2026-09-19). Data as JSON: /api/errors/24ed66603fc181f5. Report an issue: GitHub.

Appendix: source

Thrown at influxdb3_server/src/http.rs:244

    /// Decoding a gzip-compressed stream of data failed.
    #[error("error decoding gzip stream: {0}")]
    InvalidGzip(std::io::Error),

    #[error("invalid mime type ({0})")]
    InvalidMimeType(String),

    /// DatabaseName validation error.
    #[error("error validating database name: {0}")]
    InvalidDatabaseName(#[from] DatabaseNameError),

    /// Failure to decode the provided line protocol.
    #[error("failed to parse line protocol: {0}")]
    ParseLineProtocol(influxdb_line_protocol::Error),

    /// The router is currently servicing the maximum permitted number of
    /// simultaneous requests.
    #[error("this service is overloaded, please try again later")]
    RequestLimit,

    /// The request has no authentication, but authorization is configured.
    #[error("authentication required")]
    Unauthenticated,

    /// The provided authorization is not sufficient to perform the request.
    #[error("access denied")]
    Forbidden,

    /// The HTTP request method is not supported for this resource
    #[error("unsupported method")]
    UnsupportedMethod,

    /// Hyper serving error
    #[error("error serving http: {0}")]
    ServingHttp(#[from] hyper::Error),

View on GitHub (pinned to 06200ef96b)