{"record":{"id":"e9bab2695aff28b9","repo":"risingwavelabs/risingwave","slug":"doris-starrocks-connect-error-0","errorCode":null,"errorMessage":"Doris/Starrocks connect error: {0}","messagePattern":"Doris/Starrocks connect error: (.+?)","errorType":"exception","errorClass":"SinkError","httpStatus":null,"severity":"error","filePath":"src/connector/src/sink/mod.rs","lineNumber":1154,"sourceCode":"    #[error(\"Mqtt error: {0}\")]\n    Mqtt(\n        #[source]\n        #[backtrace]\n        anyhow::Error,\n    ),\n    #[error(\"Nats error: {0}\")]\n    Nats(\n        #[source]\n        #[backtrace]\n        anyhow::Error,\n    ),\n    #[error(\"Google Pub/Sub error: {0}\")]\n    GooglePubSub(\n        #[source]\n        #[backtrace]\n        anyhow::Error,\n    ),\n    #[error(\"Doris/Starrocks connect error: {0}\")]\n    DorisStarrocksConnect(\n        #[source]\n        #[backtrace]\n        anyhow::Error,\n    ),\n    #[error(\"Doris error: {0}\")]\n    Doris(String),\n    #[error(\"DeltaLake error: {0}\")]\n    DeltaLake(\n        #[source]\n        #[backtrace]\n        anyhow::Error,\n    ),\n    #[error(\"LanceDB error: {0}\")]\n    LanceDb(\n        #[source]\n        #[backtrace]\n        anyhow::Error,","sourceCodeStart":1136,"sourceCodeEnd":1172,"githubUrl":"https://github.com/risingwavelabs/risingwave/blob/6469eb736d691e8e9b8a419a57edd6429ca77417/src/connector/src/sink/mod.rs#L1136-L1172","documentation":"This is a variant of the SinkError enum (src/connector/src/sink/mod.rs:1089) used by RisingWave's sink connectors. It wraps an anyhow::Error produced when establishing a connection to a Doris or Starrocks external database fails during sink initialization or data loading. It reports the underlying connect failure message verbatim ({0}).","triggerScenarios":"Creating or starting a Doris/Starrocks sink when the FE (Frontend) HTTP/RPC endpoint is unreachable, credentials are wrong, or the stream-load endpoint cannot be reached during sink commit.","commonSituations":"Wrong FE host/port in WITH options, DNS or network/firewall blocking the FE, Doris/Starrocks cluster down or restarting, wrong username/password, TLS misconfiguration.","solutions":["Verify the Doris/Starrocks FE host and http_port/query_port in the sink WITH options are reachable from RisingWave (curl the FE endpoint).","Check username/password options and that the user has LOAD privileges on the target table.","Confirm the Doris/Starrocks cluster is up and the database/table exist.","Check network/firewall/DNS between RisingWave nodes and the FE nodes, then retry."],"exampleFix":"// before\nCREATE SINK s FROM mv WITH (\n  connector = 'doris',\n  url = 'http://fe-wrong-host:8030',\n  table = 't'\n);\n// after\nCREATE SINK s FROM mv WITH (\n  connector = 'doris',\n  url = 'http://fe-host:8030',\n  user = 'admin',\n  password = '***',\n  database = 'db',\n  table = 't'\n);","handlingStrategy":"validation","validationCode":"curl -u user:pass http://fe-host:8030/api/show_proc?path=/ --max-time 5 # verify FE reachability before creating the sink","typeGuard":null,"tryCatchPattern":"match err { SinkError::DorisStarrocksConnect(e) => { log::error!(\"doris connect: {e:#}\"); /* alert/retry with backoff */ } _ => return Err(err) }","preventionTips":["Pre-test FE connectivity and credentials with curl before CREATE SINK","Keep FE/BE ports open in firewalls/security groups","Store credentials via secret management, not inline SQL"],"tags":["sink","doris","starrocks","network","connection"],"backgroundTag":"connection-refused","analyzedSha":"6469eb736d691e8e9b8a419a57edd6429ca77417","analyzedAt":"2026-09-11T21:06:21.487Z","contentChangedAt":"2026-09-11T21:06:21.487Z","schemaVersion":2},"datasetVersion":"2026-09-14T16:17:12.679Z"}