hasura/graphql-engine · error · DataConnectorError::DuplicateDataConnectorDefinition
the data connector is defined more than once
Error message
the data connector is defined more than once
What it means
The same data connector name is defined more than once in metadata. Connector names must be unique so resolution is deterministic.
Source
Thrown at v3/crates/metadata-resolve/src/stages/data_connectors/error.rs:22
use open_dds::data_connector::DataConnectorName;
use open_dds::flags;
impl ContextualError for NamedDataConnectorError {
fn create_error_context(&self) -> Option<error_context::Context> {
None
}
}
#[derive(Debug, thiserror::Error)]
#[error("The data connector {data_connector_name} has an error: {error}")]
pub struct NamedDataConnectorError {
pub data_connector_name: Qualified<DataConnectorName>,
pub error: DataConnectorError,
}
#[derive(Debug, thiserror::Error)]
pub enum DataConnectorError {
#[error("the data connector is defined more than once")]
DuplicateDataConnectorDefinition,
#[error("The url for the data connector is invalid: {error}")]
InvalidDataConnectorUrl { error: url::ParseError },
#[error("Invalid header name {header_name} specified")]
InvalidHeaderName { header_name: String },
#[error("Invalid value specified for header {header_name}")]
InvalidHeaderValue { header_name: String },
#[error("{0}")]
NdcValidationError(NDCValidationError),
#[error(
"The version specified in the capabilities (\"{version}\") is an invalid version: {error}"
)]
InvalidNdcVersion {
version: String,
error: semver::Error,
},
#[error(
"The version specified in the capabilities (\"{version}\") is not compatible with the schema version specified. The version requirement is {requirement}"View on GitHub (pinned to 724551b9ae)
Solutions
- Search metadata for repeated connector names
- Remove or rename the duplicate definition
- Rebuild
Defensive patterns
Strategy: validation
Validate before calling
let mut seen = HashSet::new();
for c in &connectors { assert!(seen.insert(c.name.clone()), "duplicate connector"); } Try / catch
Catch DataConnectorError::DuplicateDataConnectorDefinition and report the duplicated name.
Prevention
- Maintain a canonical list of connectors
- Use a linter on metadata merges
When it happens
Trigger: Two data connector definitions sharing the same qualified name in the metadata source.
Common situations: Appending a connector block instead of editing the existing one; merging metadata files with overlapping connectors.
Related errors
- multiple type representations defined for scalar {scalar_typ
- Data connector {data_connector_name} is referenced by multip
- cannot get absolute path: %w
- error in getting server feature flags %w
- Cannot add query root field {0} as it already in use
AI-assisted analysis of hasura/graphql-engine@724551b9ae (2026-08-28).
Data as JSON: /api/errors/f9174e39bc84e863.
Report an issue: GitHub.