hasura/graphql-engine · error · ScalarBooleanExpressionTypeError
data connector {data_connector:} could not be found
Error message
data connector {data_connector:} could not be found What it means
Thrown during metadata resolution when a boolean expression type or its operators reference a data connector by name, but no data connector with that qualified name (subgraph + name) exists in the metadata.
Source
Thrown at v3/crates/metadata-resolve/src/stages/scalar_boolean_expressions/error.rs:33
)]
ScalarTypeFromUnknownDataConnector {
data_connector: Qualified<DataConnectorName>,
scalar_type: DataConnectorScalarType,
},
#[error("cannot find scalar type {scalar_type:} in data connector {data_connector:}")]
UnknownScalarTypeInDataConnector {
data_connector: Qualified<DataConnectorName>,
scalar_type: DataConnectorScalarType,
},
#[error(
"cannot find type {custom_type:} when resolving arguments for comparison operator {operator_name:} for {boolean_expression_type:}"
)]
UnknownCustomTypeInComparisonOperatorArgument {
custom_type: Qualified<CustomTypeName>,
operator_name: OperatorName,
boolean_expression_type: Qualified<CustomTypeName>,
},
#[error("data connector {data_connector:} could not be found")]
DataConnectorNotFound {
data_connector: Qualified<DataConnectorName>,
},
#[error("scalar representations for data connector {data_connector:} could not be found")]
DataConnectorScalarRepresentationsNotFound {
data_connector: Qualified<DataConnectorName>,
},
#[error(
"scalar type representation required for type {scalar_type:} in data connector {data_connector:}"
)]
DataConnectorScalarRepresentationRequired {
data_connector: Qualified<DataConnectorName>,
scalar_type: DataConnectorScalarType,
},
#[error("Predicate types in data connectors are unsupported")]
PredicateTypesUnsupported,
#[error("{0}")]
GraphqlError(#[from] graphql_config::GraphqlConfigError),View on GitHub (pinned to 724551b9ae)
Solutions
- Verify the data connector name and subgraph in the boolean expression type matches an existing DataConnector definition
- Ensure the metadata document defining the data connector is included in the metadata source list
- Check for typos or stale names after renaming a data connector
Example fix
// before
data_connector: ref("subgraph/patterns/my_connector")
// after
data_connector: ref("subgraph/patterns/postgres_connector") Defensive patterns
Strategy: validation
Validate before calling
// before resolving, assert all referenced data connectors exist
let names: HashSet<_> = metadata_accessor.data_connectors.iter()
.map(|dc| dc.name.clone()).collect();
for be in &metadata_accessor.boolean_expression_types {
if !names.contains(&be.data_connector) {
return Err(format!("unknown data connector: {}", be.data_connector));
}
} Prevention
- Run metadata lint/resolve in CI to catch dangling references early
- Use consistent naming conventions and centralized constants for data connector names
When it happens
Trigger: A ScalarBooleanExpression (or operator mapping) in open-dds metadata names a data connector that is not defined by any DataConnectorLink/metadata document in the project.
Common situations: Typos in the data connector name, forgetting to include the data connector metadata file, using the wrong subgraph qualifier, or renaming a connector without updating boolean expression types.
Related errors
- Scalar representations for data connector '{data_connector_n
- Model {model:} has source data connector object type {model_
- error fetching config from server: %w
- error fetching server config: %v
- could not find a scalar-operanded boolean expression type na
AI-assisted analysis of hasura/graphql-engine@724551b9ae (2026-08-28).
Data as JSON: /api/errors/69f372e7305e1539.
Report an issue: GitHub.