{"record":{"id":"298921474956ced8","repo":"influxdata/influxdb","slug":"error-serving-http-0","errorCode":null,"errorMessage":"error serving http: {0}","messagePattern":"error serving http: (.+?)","errorType":"http","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"influxdb3_server/src/http.rs","lineNumber":260,"sourceCode":"    /// The router is currently servicing the maximum permitted number of\n    /// simultaneous requests.\n    #[error(\"this service is overloaded, please try again later\")]\n    RequestLimit,\n\n    /// The request has no authentication, but authorization is configured.\n    #[error(\"authentication required\")]\n    Unauthenticated,\n\n    /// The provided authorization is not sufficient to perform the request.\n    #[error(\"access denied\")]\n    Forbidden,\n\n    /// The HTTP request method is not supported for this resource\n    #[error(\"unsupported method\")]\n    UnsupportedMethod,\n\n    /// Hyper serving error\n    #[error(\"error serving http: {0}\")]\n    ServingHttp(#[from] hyper::Error),\n\n    /// Missing parameters for query\n    #[error(\"missing query parameters 'db'\")]\n    MissingDeleteDatabaseParams,\n\n    /// Missing parameters for query\n    #[error(\"missing query parameters 'db' and 'q'\")]\n    MissingQueryParams,\n\n    /// Missing the `q` parameter in the v1 /query API\n    #[error(\"missing query parameter 'q'\")]\n    MissingQueryV1Params,\n\n    /// MIssing parameters for write\n    #[error(\"missing query parameter 'db'\")]\n    MissingWriteParams,\n","sourceCodeStart":242,"sourceCodeEnd":278,"githubUrl":"https://github.com/influxdata/influxdb/blob/06200ef96ba82c5f6727e5038a83af8e722c6875/influxdb3_server/src/http.rs#L242-L278","documentation":"This variant wraps hyper::Error (via #[from]) and signals a failure at the HTTP serving layer itself rather than in application logic: broken client connections, request body read errors, timeouts, or protocol violations while hyper was serving the request.","triggerScenarios":"Client disconnects mid-request (broken pipe on body upload), malformed HTTP framing, request timeout at the hyper layer, TLS/keep-alive issues, or oversized bodies rejected by the transport.","commonSituations":"Load balancers with aggressive idle timeouts killing connections; clients cancelling requests while a large write is uploading; flaky networks between client and server; wrong scheme (https to an http listener).","solutions":["Read the embedded hyper error for the root cause (e.g. IncompleteMessage, body write aborted) and address that condition.","Check for premature client disconnects or upstream proxy timeouts and increase timeout budgets.","Verify the client speaks the correct scheme/protocol version (HTTP/1.1 vs the listener's config).","Reduce oversized request bodies or raise the server's body size limits.","Retry idempotent requests; transient connection drops are often retried successfully."],"exampleFix":"// before\n// client with 1s timeout aborting large writes\nclient.post(url).timeout(Duration::from_secs(1)).body(large_body).send().await?;\n// after\nclient.post(url)\n    .timeout(Duration::from_secs(60)) // allow large uploads to complete\n    .body(large_body)\n    .send().await?;","handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":"// classify hyper errors; retry idempotent ops on transient connection failures\nmatch err {\n    e if e.is_incomplete_message() || e.is_body_write_aborted() => {\n        retry_with_backoff();\n    }\n    _ => return Err(err.into()),\n}","preventionTips":["Set generous client timeouts for large uploads and slow queries.","Align proxy/load-balancer idle timeouts with server settings.","Use the correct scheme (http vs https) and HTTP version for the listener.","Keep request bodies within configured size limits."],"tags":["hyper","http-server","network","connection"],"backgroundTag":"http-request-failed","analyzedSha":"06200ef96ba82c5f6727e5038a83af8e722c6875","analyzedAt":"2026-09-19T12:55:30.003Z","contentChangedAt":"2026-09-19T12:55:30.003Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}