risingwavelabs/risingwave · error

AdbcSnowflake connector only supports FULL_RELOAD refresh…

Error message

AdbcSnowflake connector only supports FULL_RELOAD refresh mode

What it means

When building the source executor for an `AdbcSnowflake` source, RisingWave only supports the FULL_RELOAD (snapshot, non-incremental) refresh mode. If the source's refresh mode is anything else, an `unreachable!` panics with 'AdbcSnowflake connector only supports FULL_RELOAD refresh mode', aborting executor creation.

Solutions

  1. Recreate the Snowflake source with refresh mode FULL_RELOAD (snapshot reload).
  2. Avoid setting incremental/auto-refresh options on ADBC Snowflake sources.
  3. If incremental data is needed, layer it via a materialized view or use a supported connector (e.g. Snowflake via other CDC paths).
  4. Check the source definition with `SHOW SOURCES` and DROP/recreate.
Defensive patterns

Strategy: validation

Validate before calling

-- ensure refresh mode is FULL_RELOAD when creating the Snowflake source
CREATE SOURCE snow WITH (connector = 'snowflake', refresh.mode = 'FULL_RELOAD', ...);

Prevention

When it happens

Trigger: Creating/starting a streaming source on an ADBC Snowflake connector whose refresh mode is not FULL_RELOAD (e.g. incremental refresh configured on the Snowflake source).

Common situations: Users enabling incremental refresh on a Snowflake source created via the ADBC connector, or reusing a source definition after a version change where only FULL_RELOAD is supported.

Understand the failure class

Background: UnsupportedOperationException and "is not supported" errors: when a library deliberately refuses a call — this error's family across 30 libraries.

Related errors


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

Appendix: source

Thrown at src/stream/src/from_proto/source/fs_fetch.rs:200

                    upstream,
                    source.rate_limit,
                    params.local_barrier_manager.clone(),
                    source.associated_table_id,
                )
                .boxed()
            }
            risingwave_connector::source::ConnectorProperties::AdbcSnowflake(_) => {
                if is_full_reload_refresh {
                    BatchAdbcSnowflakeFetchExecutor::new(
                        params.actor_context.clone(),
                        stream_source_core,
                        upstream,
                        params.local_barrier_manager.clone(),
                        source.associated_table_id,
                    )
                    .boxed()
                } else {
                    unreachable!("AdbcSnowflake connector only supports FULL_RELOAD refresh mode")
                }
            }
            _ => unreachable!(),
        };
        Ok((params.info, exec).into())
    }
}

View on GitHub (pinned to 6469eb736d)