t8y2/dbx · error

TDengine connection metadata is unavailable

Error message

TDengine connection metadata is unavailable

What it means

Bailed by TdengineDriver.test_connection when the metadata needed for the connection report (beyond server version/timezone) could not be retrieved after the connection was established. The connection itself works, but required discovery queries failed, so test_connection cannot produce a reliable result and reports failure.

Source

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

        let server_version = query_scalar_string(&connection, "SELECT server_version()", &token, 5).await.ok();
        let session_timezone = query_scalar_string(&connection, "SELECT timezone()", &token, 5)
            .await
            .ok()
            .and_then(|value| parse_server_timezone(&value));
        self.current_database = dsn.database;
        self.server_version = server_version;
        self.session_timezone = session_timezone;
        self.params = params;
        self.connection = Some(connection);
        Ok(())
    }

    pub async fn test_connection(params: ConnectParams) -> Result<DatabaseConnectionInfo> {
        let mut driver = Self::new();
        driver.connect(params).await?;
        let token = CancellationToken::new();
        driver.validate_connection(&token).await?;
        driver.connection_info()?.database_info.ok_or_else(|| anyhow!("TDengine connection metadata is unavailable"))
    }

    pub async fn disconnect(&mut self) {
        self.query_sessions.clear();
        self.table_cache = None;
        self.server_version = None;
        self.session_timezone = None;
        self.current_database.clear();
        self.connection = None;
    }

    pub async fn validate_connection(&self, token: &CancellationToken) -> Result<()> {
        query_scalar_string(self.require_connection()?, "SELECT server_version()", token, 3).await?;
        Ok(())
    }

    pub fn connection_info(&self) -> Result<AgentConnectionInfo> {
        self.require_connection()?;

View on GitHub (pinned to c0390bff16)

Solutions

  1. Re-run test_connection; transient metadata query failures can pass on retry
  2. Check that the connected user can query TDengine metadata (databases/cluster info)
  3. Inspect server logs for the underlying query failure
Defensive patterns

Strategy: fallback

When it happens

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

Common situations: See trigger scenarios.


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