t8y2/dbx · error

TDengine operation timed out after {timeout_secs} seconds

Error message

TDengine operation timed out after {timeout_secs} seconds

What it means

Bailed by cancellable (TDengine driver) when a TDengine operation (query, fetch, execute, cursor step) exceeded its timeout_secs budget (or hit the cancellation token). The in-flight connector future is abandoned and the error carries the per-operation timeout that fired; session-level operations wrap their own contexts around this helper.

Source

Thrown at agents/drivers/tdengine/src/driver.rs:806

    query_timezone.or(block_timezone).or(session_timezone)
}

fn parse_server_timezone(value: &str) -> Option<Tz> {
    value.split_whitespace().next()?.parse().ok()
}

async fn cancellable<T, F>(token: &CancellationToken, timeout_secs: u64, future: F) -> Result<T>
where
    F: Future<Output = taos::RawResult<T>>,
{
    tokio::pin!(future);
    let operation = async {
        if timeout_secs == 0 {
            future.await.map_err(anyhow::Error::from)
        } else {
            timeout(Duration::from_secs(timeout_secs), future)
                .await
                .map_err(|_| anyhow!("TDengine operation timed out after {timeout_secs} seconds"))?
                .map_err(anyhow::Error::from)
        }
    };
    tokio::select! {
        _ = token.cancelled() => bail!("TDengine operation was cancelled"),
        result = operation => result,
    }
}

fn effective_database<'a>(requested: &'a str, current: &'a str) -> Result<&'a str> {
    let requested = requested.trim();
    if !requested.is_empty() {
        return validate_database_name(requested);
    }
    let current = current.trim();
    if current.is_empty() {
        bail!("TDengine database is required");
    }

View on GitHub (pinned to c0390bff16)

Solutions

  1. Increase the per-request timeout_secs parameter for the operation
  2. Optimize or limit the query (WHERE clauses, LIMIT) so it completes faster
  3. Check server load and taosAdapter latency
  4. For cancellation-token hits, verify the client did not cancel the operation prematurely
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at agents/drivers/tdengine/src/driver.rs:806 when the library encounters an invalid state.

Common situations: See trigger scenarios.

Understand the failure class


AI-assisted analysis of t8y2/dbx@c0390bff16 (2026-09-05). Data as JSON: /api/errors/7b56c7c1f4a5a4a0. Report an issue: GitHub.