{"record":{"id":"30c36142ecd8b678","repo":"t8y2/dbx","slug":"tdengine-connection-timed-out-after-seconds","errorCode":null,"errorMessage":"TDengine connection timed out after {} seconds","messagePattern":"TDengine connection timed out after (.+?) seconds","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"agents/drivers/tdengine/src/driver.rs","lineNumber":79,"sourceCode":"            connection: None,\n            params: ConnectParams::default(),\n            server_version: None,\n            session_timezone: None,\n            current_database: String::new(),\n            query_sessions: HashMap::new(),\n            table_cache: None,\n        }\n    }\n\n    pub async fn connect(&mut self, params: ConnectParams) -> Result<()> {\n        self.disconnect().await;\n        let dsn = build_dsn(&params)?;\n        let builder =\n            TaosBuilder::from_dsn(&dsn.value).with_context(|| \"failed to configure TDengine WebSocket connector\")?;\n        let connect_timeout = connect_timeout(&params);\n        let connection = timeout(connect_timeout, builder.build())\n            .await\n            .map_err(|_| anyhow!(\"TDengine connection timed out after {} seconds\", connect_timeout.as_secs()))??;\n        let token = CancellationToken::new();\n        let server_version = query_scalar_string(&connection, \"SELECT server_version()\", &token, 5).await.ok();\n        let session_timezone = query_scalar_string(&connection, \"SELECT timezone()\", &token, 5)\n            .await\n            .ok()\n            .and_then(|value| parse_server_timezone(&value));\n        self.current_database = dsn.database;\n        self.server_version = server_version;\n        self.session_timezone = session_timezone;\n        self.params = params;\n        self.connection = Some(connection);\n        Ok(())\n    }\n\n    pub async fn test_connection(params: ConnectParams) -> Result<DatabaseConnectionInfo> {\n        let mut driver = Self::new();\n        driver.connect(params).await?;\n        let token = CancellationToken::new();","sourceCodeStart":61,"sourceCodeEnd":97,"githubUrl":"https://github.com/t8y2/dbx/blob/c0390bff16418b651f4728520d99adf8ce48829a/agents/drivers/tdengine/src/driver.rs#L61-L97","documentation":"Bailed by TdengineDriver.connect when establishing the WebSocket connection (including any handshake/login) did not complete within the configured connect timeout seconds. The DSN was built and the connector configured, but the server did not answer in time — network latency, unreachable host, or an overloaded taosAdapter.","triggerScenarios":"Thrown at agents/drivers/tdengine/src/driver.rs:79 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify the TDengine host/port (taosAdapter WebSocket port, typically 6041) is reachable","Increase the connect timeout in connection parameters","Check taosAdapter health and load; restart it if wedged","Rule out firewall/proxy idle or SYN drops between agent and server"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"c0390bff16418b651f4728520d99adf8ce48829a","analyzedAt":"2026-09-05T23:05:10.900Z","contentChangedAt":"2026-09-05T23:05:10.900Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}