{"record":{"id":"2ce5d4de61d88eba","repo":"risingwavelabs/risingwave","slug":"unknown-connection-connection-name","errorCode":null,"errorMessage":"Unknown connection: {connection_name}","messagePattern":"Unknown connection: (.+?)","errorType":"validation","errorClass":"ConnectorError","httpStatus":null,"severity":"error","filePath":"src/connector/src/allow_alter_on_fly_fields.rs","lineNumber":495,"sourceCode":"    for field in fields {\n        if !allowed_fields.contains(field) {\n            return Err(ConnectorError::from(anyhow::anyhow!(\n                \"Field '{field}' is not allowed to be altered on the fly for connector: {connector_name}\"\n            )));\n        }\n    }\n    Ok(())\n}\n\npub fn check_connection_allow_alter_on_fly_fields(\n    connection_name: &str,\n    fields: &[String],\n) -> crate::error::ConnectorResult<()> {\n    use crate::source::connection_name_to_prop_type_name;\n\n    // Convert connection name to the type name key\n    let Some(type_name) = connection_name_to_prop_type_name(connection_name) else {\n        return Err(ConnectorError::from(anyhow::anyhow!(\n            \"Unknown connection: {connection_name}\"\n        )));\n    };\n    let Some(allowed_fields) = CONNECTION_ALLOW_ALTER_ON_FLY_FIELDS.get(type_name) else {\n        return Err(ConnectorError::from(anyhow::anyhow!(\n            \"No allow_alter_on_fly fields registered for connection: {connection_name}\"\n        )));\n    };\n    for field in fields {\n        if !allowed_fields.contains(field) {\n            return Err(ConnectorError::from(anyhow::anyhow!(\n                \"Field '{field}' is not allowed to be altered on the fly for connection: {connection_name}\"\n            )));\n        }\n    }\n    Ok(())\n}\n","sourceCodeStart":477,"sourceCodeEnd":513,"githubUrl":"https://github.com/risingwavelabs/risingwave/blob/6469eb736d691e8e9b8a419a57edd6429ca77417/src/connector/src/allow_alter_on_fly_fields.rs#L477-L513","documentation":"check_connection_allow_alter_on_fly_fields could not map connection_name to a registered connection type, so no allow_alter_on_fly allowlist exists for it. The connection name is unrecognized (misspelled or unsupported).","triggerScenarios":"Altering fields on the fly for a CONNECTION object whose name does not resolve via connection_name_to_prop_type_name (e.g. typo in the connection type, unsupported connection kind).","commonSituations":"Typo'd connection names in ALTER statements; using a private-link/connection type not compiled into the build; version drift removing a connection type.","solutions":["Verify the connection name against supported connection types and fix spelling","Use SHOW CONNECTIONS / catalog to confirm the connection and its type","Upgrade or rebuild RW if the connection type should be supported"],"exampleFix":"// before: ALTER CONNECTION 'privatelinkk' ... \n// after: ALTER CONNECTION 'privatelink' ...","handlingStrategy":"validation","validationCode":"const KNOWN_CONNECTIONS: &[&str] = &[\"privatelink\",\"kafka\",\"iceberg\"]; // exact supported set\nif !KNOWN_CONNECTIONS.contains(&connection_name) {\n    return Err(format!(\"unknown connection type: {connection_name}\"));\n}","typeGuard":null,"tryCatchPattern":"match res {\n    Err(e) if e.to_string().starts_with(\"Unknown connection\") => {\n        // prompt user to verify connection name via SHOW CONNECTIONS\n    }\n    other => other?,\n}","preventionTips":["Centralize connection names in config validated against supported types","Run SHOW CONNECTIONS to confirm the exact name before ALTER","Recheck connection type names after RW version upgrades"],"tags":["connection","configuration","validation"],"backgroundTag":"invalid-enum-value","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"}