risingwavelabs/risingwave · error
Unsupported object type for AlterConnectorProps: {:?}
Error message
Unsupported object type for AlterConnectorProps: {:?} What it means
alter_connector_props only implements payload handling for specific object types (e.g. secret and connection); any other ObjectType hits an `unimplemented!` branch that panics the request handler with this message. It indicates the requested AlterConnectorProps operation targets an object type the service does not support yet.
Source
Thrown at src/meta/service/src/stream_service.rs:847
dependent_mutation.keys().collect_vec()
);
let _version = self
.barrier_scheduler
.run_command(
database_id,
Command::ConnectorPropsChange(dependent_mutation),
)
.await?;
}
(
new_props_plaintext,
ConnectionId::from(request.object_id).as_object_id(),
)
}
_ => {
unimplemented!(
"Unsupported object type for AlterConnectorProps: {:?}",
request.object_type
);
}
};
let database_id = self
.metadata_manager
.catalog_controller
.get_object_database_id(object_id)
.await?;
// Connection updates are broadcast to dependent sources/sinks inside the `Connection` branch above.
// For sources/sinks/iceberg-table updates, broadcast the change to the object itself.
if AlterConnectorPropsObject::try_from(request.object_type)
.is_ok_and(|t| t != AlterConnectorPropsObject::Connection)
{
let mut mutation = HashMap::default();
mutation.insert(object_id, new_props_plaintext);View on GitHub (pinned to 6469eb736d)
Solutions
- Check `request.object_type` before calling and only send supported types (secret/connection)
- Upgrade the meta node to a version that supports the object type you need
- Fix client code that populates object_type incorrectly
Example fix
// before
let req = AlterConnectorPropsRequest { object_id, object_type: ObjectType::Table, .. };
// after
let req = AlterConnectorPropsRequest { object_id, object_type: ObjectType::Connection, .. }; Defensive patterns
Strategy: type-guard
Validate before calling
match request.object_type {
ObjectType::Secret | ObjectType::Connection => {},
other => return Err(anyhow!("AlterConnectorProps unsupported for {:?}", other)),
} Type guard
fn supports_alter_connector(t: ObjectType) -> bool {
matches!(t, ObjectType::Secret | ObjectType::Connection)
} Prevention
- Check supported object types before issuing AlterConnector calls
- Keep frontend and meta node versions aligned
- Centralize allowed-object-type checks in client SDKs
When it happens
Trigger: Sending an AlterConnector RPC whose `request.object_type` is neither the supported secret nor connection type.
Common situations: Newer frontend/SDK sending a newly added object type against an older meta binary; a bug in request construction setting the wrong object_type enum value.
Understand the failure class
Background: UnsupportedOperationException and "is not supported" errors: when a library deliberately refuses a call — this error's family across 30 libraries.
Related errors
- get none metadata in commit response for coordinated sink wr
- should get start response but get {:?}
- not implemented
- reschedule failed
- call prune_col of the PlanRef instead of calling directly on
AI-assisted analysis of risingwavelabs/risingwave@6469eb736d (2026-09-11).
Data as JSON: /api/errors/c16de015614b6c06.
Report an issue: GitHub.