{"record":{"id":"aea27f478a4e9ac6","repo":"databendlabs/databend","slug":"sync-crash-me-panic","errorCode":null,"errorMessage":"sync crash me panic","messagePattern":"sync crash me panic","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/query/service/src/table_functions/sync_crash_me.rs","lineNumber":158,"sourceCode":"    message: Option<String>,\n}\n\nimpl SyncCrashMeSource {\n    pub fn create(\n        scan: Arc<Progress>,\n        output: Arc<OutputPort>,\n        message: Option<String>,\n    ) -> Result<ProcessorPtr> {\n        SyncSourcer::create(scan, output, SyncCrashMeSource { message })\n    }\n}\n\nimpl SyncSource for SyncCrashMeSource {\n    const NAME: &'static str = \"sync_crash_me\";\n\n    fn generate(&mut self) -> Result<Option<DataBlock>> {\n        match &self.message {\n            None => panic!(\"sync crash me panic\"),\n            Some(message) => panic!(\"{}\", message),\n        }\n    }\n}\n\nimpl TableFunction for SyncCrashMeTable {\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":140,"sourceCodeEnd":174,"githubUrl":"https://github.com/databendlabs/databend/blob/288d84d76e20a2f8f7173bda9691eb6ece301aa9/src/query/service/src/table_functions/sync_crash_me.rs#L140-L174","documentation":"After building the Azure StorageParams, parse_azure_params validates the remaining connection options via l.connection.check(). Any unrecognized or invalid option (e.g. a typo'd key, an option unsupported for azblob) is surfaced verbatim as an InvalidInput binder error.","triggerScenarios":"Passing any connection option in CONNECTION_OPTIONS that the azblob connection config does not recognize — e.g. `AWS_KEY_ID` on an azblob location, a misspelled `ACCOUNT_NAME`, or an option valid only for S3.","commonSituations":"Copy-pasting S3 connection options into an Azure stage definition; typos in Azure option names; using deprecated/renamed option keys after a version upgrade.","solutions":["Read the wrapped {err} message — it names the exact offending option — and remove or correct that key.","Ensure every option is valid for azblob (e.g. account_name, account_key, endpoint_url) and not an S3-specific key.","Fix typos in CONNECTION_OPTIONS keys.","Check release notes for renamed connection options if the stage definition used to work."],"exampleFix":"// before\nCONNECTION_OPTIONS = (ENDPOINT_URL = '...', AWS_ACCESS_KEY_ID = 'k')\n// after\nCONNECTION_OPTIONS = (ENDPOINT_URL = '...', ACCOUNT_NAME = 'acc', ACCOUNT_KEY = 'k')","handlingStrategy":"validation","validationCode":"const AZBLOB_OPTS: &[&str] = &[\"endpoint_url\",\"account_name\",\"account_key\",\"root\",\"master_key\",\"connection_string\"];\nfor k in options.keys() { if !AZBLOB_OPTS.contains(&k.to_lowercase().as_str()) { return Err(format!(\"unknown azblob option: {}\", k)); } }","typeGuard":null,"tryCatchPattern":"match exec(ddl).await { Err(e) if e.to_string().contains(\"invalid connection option\") || e.to_string().contains(\"unknown\") => report_bad_option(e), Err(e) => Err(e) }","preventionTips":["Only use provider-specific connection options for azblob","Verify option names against current docs after upgrades","Validate CONNECTION_OPTIONS locally before submitting DDL","Keep per-provider option allowlists in tooling"],"tags":["rust","sql","azure","config-validation"],"backgroundTag":"invalid-config-value","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"}