risingwavelabs/risingwave · error · SinkError
Redshift error
Error message
Redshift error: {0} What it means
Sentinel variant of SinkError wrapping anyhow errors from the Redshift sink connector. It classifies any Redshift backend failure (connection, query, COPY) so error handling and reporting can attribute it to the Redshift sink; details live in the wrapped anyhow error.
Solutions
- Inspect the wrapped anyhow error for the underlying Redshift failure (connection, COPY/INSERT errors, auth).
- Verify cluster endpoint, credentials, and that the target schema/table exists.
- Retry transient connection errors; correct schema or permission issues permanently.
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at src/connector/src/sink/mod.rs:1238 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of risingwavelabs/risingwave@6469eb736d (2026-09-11).
Data as JSON: /api/errors/82700bf21d9e906d.
Report an issue: GitHub.
Appendix: source
Thrown at src/connector/src/sink/mod.rs:1238
#[error(transparent)]
Connector(
#[from]
#[backtrace]
ConnectorError,
),
#[error("Secret error: {0}")]
Secret(
#[from]
#[backtrace]
SecretError,
),
#[error("Mongodb error: {0}")]
Mongodb(
#[source]
#[backtrace]
anyhow::Error,
),
#[error("Redshift error: {0}")]
Redshift(
#[source]
#[backtrace]
anyhow::Error,
),
}
#[allow(clippy::disallowed_types)]
impl From<::iceberg::Error> for SinkError {
fn from(err: ::iceberg::Error) -> Self {
SinkError::Iceberg(anyhow!(err))
}
}
impl From<sea_orm::DbErr> for SinkError {
fn from(err: sea_orm::DbErr) -> Self {
SinkError::Iceberg(anyhow!(err))
}View on GitHub (pinned to 6469eb736d)