databendlabs/databend · error
sync crash me panic
Error message
sync crash me panic
What it means
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.
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.
Example fix
// before CONNECTION_OPTIONS = (ENDPOINT_URL = '...', AWS_ACCESS_KEY_ID = 'k') // after CONNECTION_OPTIONS = (ENDPOINT_URL = '...', ACCOUNT_NAME = 'acc', ACCOUNT_KEY = 'k')
Defensive patterns
Strategy: validation
Validate before calling
const AZBLOB_OPTS: &[&str] = &["endpoint_url","account_name","account_key","root","master_key","connection_string"];
for k in options.keys() { if !AZBLOB_OPTS.contains(&k.to_lowercase().as_str()) { return Err(format!("unknown azblob option: {}", k)); } } Try / catch
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) } Prevention
- 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
When it happens
Trigger: 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.
Common situations: Copy-pasting S3 connection options into an Azure stage definition; typos in Azure option names; using deprecated/renamed option keys after a version upgrade.
Understand the failure class
Background: "Invalid value" and "allowed values are" config errors: what your library rejected and how to fix it — this error's family across 41 libraries.
Related errors
- {}
- internal error: entered unreachable code
- internal error: entered unreachable code
- value for enable_virtual_host_style is invalid
- Unsupported format for
AI-assisted analysis of databendlabs/databend@288d84d76e (2026-09-11).
Data as JSON: /api/errors/aea27f478a4e9ac6.
Report an issue: GitHub.
Appendix: source
Thrown at src/query/service/src/table_functions/sync_crash_me.rs:158
message: Option<String>,
}
impl SyncCrashMeSource {
pub fn create(
scan: Arc<Progress>,
output: Arc<OutputPort>,
message: Option<String>,
) -> Result<ProcessorPtr> {
SyncSourcer::create(scan, output, SyncCrashMeSource { message })
}
}
impl SyncSource for SyncCrashMeSource {
const NAME: &'static str = "sync_crash_me";
fn generate(&mut self) -> Result<Option<DataBlock>> {
match &self.message {
None => panic!("sync crash me panic"),
Some(message) => panic!("{}", message),
}
}
}
impl TableFunction for SyncCrashMeTable {
fn function_name(&self) -> &str {
self.name()
}
fn as_table<'a>(self: Arc<Self>) -> Arc<dyn Table + 'a>
where Self: 'a {
self
}
}
View on GitHub (pinned to 288d84d76e)