influxdata/influxdb · error · Error

arrow error

Error message

arrow error: {0}

What it means

A generic passthrough for arrow::error::ArrowError raised while the HTTP layer handles Arrow data (e.g. building or converting Arrow record batches for query results or writes). It indicates the failure originated inside Arrow processing, not in HTTP handling itself.

Solutions

  1. Read the wrapped ArrowError message for the specific cause
  2. Verify the client's expected response format matches the server's schema (run the query via the CLI to compare)
  3. Ensure client and server use compatible Arrow versions
  4. Report the wrapped inner error to the InfluxDB project if it looks like an internal bug
Defensive patterns

Strategy: try-catch

Try / catch

try { const batch = await queryArrow(sql); } catch (e) {
  if (String(e).includes("arrow error:")) {
    logError("Arrow failure:", e); // inspect inner ArrowError cause
    // fall back to JSON format query
  }
}

Prevention

When it happens

Trigger: Query response serialization/conversion to Arrow IPC or JSON fails; constructing record batches from request data hits an Arrow invariant violation.

Common situations: Schema/type conflicts between requested fields; incompatible Arrow feature versions in a custom build; corrupted binary Arrow payloads sent by clients.

Understand the failure class

Background: Database query failed: Internal Server Error 500s wrapping SQL, Prisma, and connection failures — what to check first — this error's family across 16 libraries.

Related errors


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

Appendix: source

Thrown at influxdb3_server/src/http.rs:287

    MissingQueryParams,

    /// Missing the `q` parameter in the v1 /query API
    #[error("missing query parameter 'q'")]
    MissingQueryV1Params,

    /// MIssing parameters for write
    #[error("missing query parameter 'db'")]
    MissingWriteParams,

    #[error("the mime type specified was not valid UTF8: {0}")]
    NonUtf8MimeType(#[from] FromUtf8Error),

    /// Serde decode error
    #[error("serde error: {0}")]
    SerdeUrlDecoding(#[from] serde_urlencoded::de::Error),

    /// Arrow error
    #[error("arrow error: {0}")]
    Arrow(#[from] arrow::error::ArrowError),

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

    /// WriteBuffer error
    #[error("write buffer error: {0}")]
    WriteBuffer(#[from] influxdb3_write::write_buffer::Error),

    /// Persister error
    #[error("persister error: {0}")]
    Persister(#[from] influxdb3_write::persister::PersisterError),

    // ToStrError
    #[error("to str error: {0}")]
    ToStr(#[from] hyper::header::ToStrError),

View on GitHub (pinned to 06200ef96b)