risingwavelabs/risingwave · error · SinkError
BigQuery error: {0}
Error message
BigQuery error: {0} What it means
A SinkError variant wrapping an anyhow::Error from the gcp-bigquery-client crate. Raised when BigQuery sink operations fail: authentication, dataset/table resolution, insertAll (streaming insert) errors, or quota/permission rejections.
Source
Thrown at src/connector/src/sink/mod.rs:1196
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}")]
SqlServer(
#[source]
#[backtrace]
anyhow::Error,
),
#[error("Postgres error: {0}")]View on GitHub (pinned to 6469eb736d)
Solutions
- Verify GCP credentials (service account key path/env) and that they grant BigQuery Data Editor on the target table.
- Confirm dataset and table names in the sink options exist and schemas match.
- Check the wrapped message for insertAll row errors and fix mismatched columns/types.
- Watch for quota/permission errors and request increases or correct IAM bindings.
Defensive patterns
Strategy: try-catch
Validate before calling
bq show --format=prettyjson project:dataset.table # pre-check table existence, schema, and access
Try / catch
match err { SinkError::BigQuery(e) => { log::error!("bigquery: {e:#}"); /* on 429/5xx retry with backoff; on permission/schema errors fix IAM or schema */ } _ => return Err(err) } Prevention
- Set GOOGLE_APPLICATION_CREDENTIALS correctly and pre-test auth with gcloud/bq
- Match sink columns/types to the BigQuery table schema
- Grant bigquery.tables.updateData and monitor quota usage
When it happens
Trigger: Loading GCP credentials fails, the dataset or table does not exist, BigQuery rejects rows via insertAll (invalid schema, missing required fields), or API quota/permission errors occur.
Common situations: Missing/invalid GOOGLE_APPLICATION_CREDENTIALS or service-account key, wrong dataset/table id, schema mismatch with the BigQuery table, exceeded quota or lacking bigquery.tables.updateData permission.
Related errors
- Google Pub/Sub error: {0}
- end of stream
- `bigquery.local.path` and `bigquery.s3.path` set at least on
- MAP is not supported for BigQuery sink.
- VECTOR is not supported for BigQuery sink.
AI-assisted analysis of risingwavelabs/risingwave@6469eb736d (2026-09-11).
Data as JSON: /api/errors/2c81f94558f15700.
Report an issue: GitHub.