hasura/graphql-engine · error · NamedDataConnectorError

The data connector {data_connector_name} has an error: {erro

Error message

The data connector {data_connector_name} has an error: {error}

What it means

Top-level error wrapper for a named data connector: any DataConnectorError raised while resolving a specific connector is prefixed with the connector's qualified name so users know which connector failed.

Source

Thrown at v3/crates/metadata-resolve/src/stages/data_connectors/error.rs:14

use crate::helpers::ndc_validation::NDCValidationError;
use crate::types::error::{ContextualError, ShouldBeAnError};
use crate::types::subgraph::Qualified;
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(

View on GitHub (pinned to 724551b9ae)

Solutions

  1. Read the inner error for the specific cause (URL, headers, version, validation)
  2. Fix that connector's metadata entry
  3. Rebuild
Defensive patterns

Strategy: try-catch

Validate before calling

// Pre-flight each connector definition
for c in connectors { validate_url(&c.uri)?; validate_headers(&c.headers)?; }

Try / catch

Catch NamedDataConnectorError, use data_connector_name to locate the bad config, then handle inner error by variant.

Prevention

When it happens

Trigger: Any failure resolving a data connector definition: duplicate definition, invalid URL, invalid headers, NDC validation, or version problems.

Common situations: A single bad connector definition in otherwise valid metadata.

Related errors


AI-assisted analysis of hasura/graphql-engine@724551b9ae (2026-08-28). Data as JSON: /api/errors/223b34ab4f5c24d9. Report an issue: GitHub.