risingwavelabs/risingwave · error · SinkError::Internal

[transparent] (Internal: passthrough anyhow::Error)

Error message

[transparent] (Internal: passthrough anyhow::Error)

What it means

A transparent SinkError variant with #[from] anyhow::Error that serves as the catch-all for sink errors without a dedicated variant. Any `?` on an anyhow::Error inside sink code converts it into SinkError::Internal, passing the message through unchanged.

Solutions

  1. Read the inner message — it is the original anyhow error, unmodified.
  2. Fix the root cause indicated by the message (config, network, or data).
  3. If it looks like a bug (invariant violation), gather logs and file an issue against the connector.
Defensive patterns

Strategy: try-catch

Try / catch

// Internal wraps any anyhow error transparently: match err { SinkError::Internal(e) => log::error!("sink internal: {e:#}"), _ => ... } and escalate unknown cases to the maintainers

Prevention

When it happens

Trigger: Any sink connector path returning anyhow::Error via `?` (or `#[from]` conversion) where no specific variant applies: decoding responses, runtime conversion bugs, generic I/O, internal invariant violations.

Common situations: Generic unexpected failures inside connector code, misconfigured options caught late, or genuine bugs — the message text is whatever the inner anyhow error carried.

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/826a1abf4f6b453d. Report an issue: GitHub.

Appendix: source

Thrown at src/connector/src/sink/mod.rs:1190

        anyhow::Error,
    ),
    #[error("ElasticSearch/OpenSearch error: {0}")]
    ElasticSearchOpenSearch(
        #[source]
        #[backtrace]
        anyhow::Error,
    ),
    #[error("Starrocks error: {0}")]
    Starrocks(String),
    #[error("File error: {0}")]
    File(String),
    #[error("Pulsar error: {0}")]
    Pulsar(
        #[source]
        #[backtrace]
        anyhow::Error,
    ),
    #[error(transparent)]
    Internal(
        #[from]
        #[backtrace]
        anyhow::Error,
    ),
    #[error("BigQuery error: {0}")]
    BigQuery(
        #[source]
        #[backtrace]
        anyhow::Error,
    ),
    #[error("DynamoDB error: {0}")]
    DynamoDb(
        #[source]
        #[backtrace]
        anyhow::Error,
    ),
    #[error("SQL Server error: {0}")]

View on GitHub (pinned to 6469eb736d)