{"record":{"id":"e4fd492822c69268","repo":"databendlabs/databend","slug":"error","errorCode":null,"errorMessage":"{}","messagePattern":"\\{\\}","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/query/service/src/table_functions/async_crash_me.rs","lineNumber":156,"sourceCode":"        ctx: Arc<dyn TableContext>,\n        output: Arc<OutputPort>,\n        message: Option<String>,\n    ) -> Result<ProcessorPtr> {\n        AsyncSourcer::create(ctx.get_scan_progress(), output, AsyncCrashMeSource {\n            message,\n        })\n    }\n}\n\n#[async_trait::async_trait]\nimpl AsyncSource for AsyncCrashMeSource {\n    const NAME: &'static str = \"async_crash_me\";\n\n    #[async_backtrace::framed]\n    async fn generate(&mut self) -> Result<Option<DataBlock>> {\n        match &self.message {\n            None => panic!(\"async crash me panic\"),\n            Some(message) => panic!(\"{}\", message),\n        }\n    }\n}\n\nimpl TableFunction for AsyncCrashMeTable {\n    fn function_name(&self) -> &str {\n        self.name()\n    }\n\n    fn as_table<'a>(self: Arc<Self>) -> Arc<dyn Table + 'a>\n    where Self: 'a {\n        self\n    }\n}\n","sourceCodeStart":138,"sourceCodeEnd":171,"githubUrl":"https://github.com/databendlabs/databend/blob/288d84d76e20a2f8f7173bda9691eb6ece301aa9/src/query/service/src/table_functions/async_crash_me.rs#L138-L171","documentation":"When binding a URI location whose scheme resolves to Azure Blob storage, the connection options must include 'endpoint_url'. parse_azure_params returns this InvalidInput error when it is absent, because the azblob storage params cannot be constructed without an explicit account endpoint.","triggerScenarios":"Running a statement like `CREATE STAGE ... LOCATION = 'azblob://bucket/path/'` (or ATTACH/ COPY with an azblob URI) without `CONNECTION_OPTIONS = (ENDPOINT_URL = '...')`.","commonSituations":"Users accustomed to AWS S3 (which derives the endpoint from the bucket) omitting the Azure account URL; copying an S3 stage definition for Azure; missing the account-specific `https://<account>.blob.core.windows.net` endpoint.","solutions":["Add `ENDPOINT_URL = 'https://<account>.blob.core.windows.net'` to the CONNECTION_OPTIONS of the stage/location.","Verify the URL scheme really is azblob and that you are not accidentally routing an S3 location through the Azure parser.","Check the connection options for typos — the key must be exactly `endpoint_url` (case-insensitive option name).","Consult current Databend docs in case newer versions support account-name/key options instead of a raw endpoint URL."],"exampleFix":"// before\nCREATE STAGE s LOCATION = 'azblob://container/path/';\n// after\nCREATE STAGE s LOCATION = 'azblob://container/path/' CONNECTION_OPTIONS = (ENDPOINT_URL = 'https://myaccount.blob.core.windows.net');","handlingStrategy":"validation","validationCode":"// pre-validate the stage DDL\nif location.starts_with(\"azblob://\") && !options.contains_key(\"endpoint_url\") {\n    return Err(\"azblob locations require CONNECTION_OPTIONS = (ENDPOINT_URL = 'https://<account>.blob.core.windows.net')\");\n}","typeGuard":null,"tryCatchPattern":"// catch in client code\nmatch exec(ddl).await { Err(e) if e.to_string().contains(\"endpoint_url is required for storage azblob\") => hint_user_azure_endpoint(e), Err(e) => Err(e) }","preventionTips":["Always include ENDPOINT_URL for azblob locations","Do not copy S3 stage definitions verbatim to Azure","Template stage DDLs per cloud provider","Check option keys for exact spelling (endpoint_url)"],"tags":["rust","sql","azure","storage-config"],"backgroundTag":"missing-required-config-field","analyzedSha":"288d84d76e20a2f8f7173bda9691eb6ece301aa9","analyzedAt":"2026-09-11T11:29:36.208Z","contentChangedAt":"2026-09-11T11:29:36.208Z","schemaVersion":2},"datasetVersion":"2026-09-16T04:17:20.429Z"}