Skip to main content

STREAMING_QUERY_EVOLUTION_ERROR error condition

SQLSTATE: 42000

Streaming query evolution error:

DUPLICATE_SOURCE_NAMES

Duplicate streaming source names detected: <duplicateNames>. Each streaming source must have a unique name. Please ensure all sources have distinct names using the name() method.

INVALID_SINK_NAME

Invalid streaming sink name: '<sinkName>'. Sink names must only contain ASCII letters ('a'-'z', 'A'-'Z'), digits ('0'-'9'), and underscores ('_').

INVALID_SOURCE_NAME

Invalid streaming source name: '<sourceName>'. Source names must only contain ASCII letters ('a'-'z', 'A'-'Z'), digits ('0'-'9'), and underscores ('_'). Use backticks to quote names with special characters if needed.

NAMED_SOURCES_REQUIRE_ENFORCEMENT

Cannot use the name() method to name streaming sources when spark.sql.streaming.queryEvolution.enableSourceEvolution is disabled. Please enable source evolution by setting spark.sql.streaming.queryEvolution.enableSourceEvolution to true, or remove the name() call.

NAMED_SOURCES_REQUIRE_OFFSET_LOG_V2

Named streaming sources enforcement requires offset log format V2 (OffsetMap), but found V<version>. V2 format uses sourceId:offset pairs which support source evolution. Set spark.sql.streaming.offsetLog.version to 2, or disable named sources enforcement by setting spark.sql.streaming.queryEvolution.enableSourceEvolution to false

SINK_ID_REUSED

Cannot reuse sink name '<sinkId>' at checkpoint location <checkpointLocation>. This sink name was previously used and then replaced with a different sink. Reusing inactive sink names can lead to data correctness issues. To use a new sink, assign it a different name using the name() method on DataStreamWriter (for example, .name("my_new_sink")).

SINK_PROVIDER_MISMATCH

Cannot change sink provider for sink '<sinkId>' at checkpoint location <checkpointLocation>. The sink was previously using provider '<previousProvider>' but is now using '<currentProvider>'. Changing the sink type while keeping the same sink name can lead to data correctness issues. To use the new sink type, assign it a different name using the name() method on DataStreamWriter (for example, .name("my_new_sink")).

TOMBSTONE_SOURCE_NAME_REUSE

Cannot reuse tombstoned source names: <sourceNames>. These source names were previously used and then removed from the streaming query at checkpoint location <checkpointLocation>. Reusing tombstoned source names can lead to data correctness issues. Please use different source names.

UNNAMED_STREAMING_SINKS_WITH_ENFORCEMENT

Streaming sink must be named when spark.sql.streaming.queryEvolution.enableSinkEvolution is enabled. Use the name() method on DataStreamWriter to assign a name to the streaming sink.

UNNAMED_STREAMING_SOURCES_WITH_ENFORCEMENT

All streaming sources must be named when spark.sql.streaming.queryEvolution.enableSourceEvolution is enabled. Unnamed sources found: <sourceInfo>. Use the name() method to assign names to all streaming sources.