risingwavelabs/risingwave · error · SchemaFetchError::YetToMigrate

{0}

Error message

{0}

What it means

SchemaFetchError::YetToMigrate wraps a ConnectorError transparently (message = inner message, with source and backtrace preserved). It marks schema-fetch failures originating from connector-layer errors that are pending migration to the typed error taxonomy.

Solutions

  1. Read the wrapped ConnectorError message and source chain for the root cause.
  2. Fix the underlying connector-level issue (options, network, file path).
  3. If developing, migrate this path to a dedicated SchemaFetchError variant for better diagnostics.
Defensive patterns

Strategy: try-catch

Try / catch

match fetch_schema() {
    Err(e) if matches!(e.to_string(), _ if is_yet_to_migrate(&e)) => {
        // unwrap the inner ConnectorError and follow its message/source chain
    }
    Err(e) => return Err(e.into()),
    Ok(s) => s,
}

Prevention

When it happens

Trigger: Any ConnectorError surfaced during schema fetching that hasn't been mapped to a dedicated SchemaFetchError variant — e.g. connector parse/config errors during schema resolution.

Common situations: Mixed failures while setting up schema-registry sources: bad connector options, I/O errors reading schema files, all funneled through this catch-all variant.

Understand the failure class

Background: "This is a bug, please report it": internal invariant violations, unreachable panics, and SNH errors explained — this error's family across 47 libraries.

Related errors


AI-assisted analysis of risingwavelabs/risingwave@6469eb736d (2026-09-11). Data as JSON: /api/errors/90cdf8133d5962a3. Report an issue: GitHub.

Appendix: source

Thrown at src/connector/src/schema/mod.rs:65

    #[error(transparent)]
    InvalidOption(#[from] InvalidOptionError),
    #[error(transparent)]
    License(#[from] risingwave_common::license::FeatureNotAvailable),
    #[error(transparent)]
    Request(#[from] schema_registry::ConcurrentRequestError),
    #[error(transparent)]
    AwsGlue(#[from] Box<aws_sdk_glue::operation::get_schema_version::GetSchemaVersionError>),
    #[error(transparent)]
    MalformedResponse(#[from] MalformedResponseError),
    #[error("schema version id invalid: {0}")]
    InvalidUuid(#[from] uuid::Error),
    #[error("schema compilation error: {0}")]
    SchemaCompile(
        #[source]
        #[backtrace]
        risingwave_common::error::BoxedError,
    ),
    #[error("{0}")] // source+{0} is effectively transparent but allows backtrace
    YetToMigrate(
        #[source]
        #[backtrace]
        ConnectorError,
    ),
    #[error("schema registry client error: {0}")]
    Client(#[from] schema_registry::SchemaRegistryClientError),
}

View on GitHub (pinned to 6469eb736d)