risingwavelabs/risingwave · error · ConnectorError
Unknown source connector: {connector_name}
Error message
Unknown source connector: {connector_name} What it means
This error is raised by check_source_allow_alter_on_fly_fields when the given connector name cannot be mapped to a known source property type name via source_properties::source_name_to_prop_type_name. It means RisingWave has no registered schema entry for the requested source connector, so it cannot validate which fields may be altered on the fly.
Source
Thrown at src/connector/src/with_options_test.rs:796
/// Get all sink connector names that have `allow_alter_on_fly` fields
pub fn get_sink_connectors_with_allow_alter_on_fly_fields() -> Vec<&'static str> {{
SINK_ALLOW_ALTER_ON_FLY_FIELDS.keys().map(|s| s.as_str()).collect()
}}
/// Get all connection names that have `allow_alter_on_fly` fields
pub fn get_connection_names_with_allow_alter_on_fly_fields() -> Vec<&'static str> {{
CONNECTION_ALLOW_ALTER_ON_FLY_FIELDS.keys().map(|s| s.as_str()).collect()
}}
/// Checks if all given fields are allowed to be altered on the fly for the specified source connector.
/// Returns Ok(()) if all fields are allowed, otherwise returns a `ConnectorError`.
pub fn check_source_allow_alter_on_fly_fields(
connector_name: &str,
fields: &[String],
) -> crate::error::ConnectorResult<()> {{
// Convert connector name to the type name key
let Some(type_name) = source_properties::source_name_to_prop_type_name(connector_name) else {{
return Err(ConnectorError::from(anyhow::anyhow!(
"Unknown source connector: {{connector_name}}"
)));
}};
let Some(allowed_fields) = SOURCE_ALLOW_ALTER_ON_FLY_FIELDS.get(type_name) else {{
return Err(ConnectorError::from(anyhow::anyhow!(
"No allow_alter_on_fly fields registered for connector: {{connector_name}}"
)));
}};
for field in fields {{
if !allowed_fields.contains(field) {{
return Err(ConnectorError::from(anyhow::anyhow!(
"Field '{{field}}' is not allowed to be altered on the fly for connector: {{connector_name}}"
)));
}}
}}
Ok(())
}}
View on GitHub (pinned to 6469eb736d)
Solutions
- Check the connector name spelling against the registered source names (see source_properties and the WITH options documentation).
- Use a supported connector name exactly as listed (e.g. 'kafka', 'kinesis', 'nats', 'pulsar', 'datagen').
- If adding a new connector, register its properties and allow_alter_on_fly fields so source_name_to_prop_type_name resolves it.
- Verify both frontend and connector crates are built from the same version to avoid registry drift.
Example fix
// before
check_source_allow_alter_on_fly_fields("kafk", &fields)?;
// after
check_source_allow_alter_on_fly_fields("kafka", &fields)?; Defensive patterns
Strategy: validation
Validate before calling
fn is_known_source_connector(name: &str) -> bool {
risingwave_connector::source::source_properties::source_name_to_prop_type_name(name).is_some()
} Try / catch
match check_source_allow_alter_on_fly_fields(connector, &fields) {
Ok(()) => {},
Err(e) => eprintln!("connector '{}' not supported for on-the-fly alteration: {}", connector, e),
} Prevention
- Copy connector names from the official WITH options documentation rather than by memory
- Keep frontend and connector crates on the same commit/version
- Validate connector names early (at SQL parse/planning time) with a registry lookup
When it happens
Trigger: Calling check_source_allow_alter_on_fly_fields (or the generated code path via generate_allow_alter_on_fly_fields_combined) with a connector_name string that is not a registered source connector name (typo, wrong case, or a connector only existing in a newer/older version).
Common situations: Typo in CREATE SOURCE `connector`/`with` connector name (e.g. 'kafk' instead of 'kafka'); custom/internal connector names not registered in the property registry; version mismatch where the connector was renamed or removed.
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
- Unsupported combination of format {:?} and encode {:?}
- additional column is not supported for connector {}, accepta
- additional column type {} is not supported for connector {},
- unsupported encoding for Upsert
- Nats connection status is not connected, current status is {
AI-assisted analysis of risingwavelabs/risingwave@6469eb736d (2026-09-11).
Data as JSON: /api/errors/57f71ce4d95a74fb.
Report an issue: GitHub.