Critical severitydata pipeline
Power BI Refresh Error:
Stream Too Old / Stale Stream
What does this error mean?
A Snowflake Stream became stale because its offset advanced beyond the data retention period of the source table. The stream can no longer return change data capture (CDC) records.
Common causes
- 1Stream was not consumed within the source table's DATA_RETENTION_TIME_IN_DAYS window
- 2Task consuming the stream was suspended or erroring for more days than the retention period
- 3Source table's retention period is set to 0 or 1 day while the consuming task runs infrequently
- 4Stream was created on a table with a short retention period (common on transient tables)
- 5Account-level retention reduced in cost-cutting — existing streams became stale
How to fix it
- 1Verify stream staleness: `SELECT SYSTEM$STREAM_HAS_DATA('<stream>'), SYSTEM$STREAM_GET_TABLE_TIMESTAMP('<stream>')`
- 2If the stream is stale it cannot be recovered — drop and recreate it: `DROP STREAM <stream>; CREATE STREAM <stream> ON TABLE <table>`
- 3After recreating, perform a full load of the target table to resync it with the source
- 4Increase the source table's retention period: `ALTER TABLE <t> SET DATA_RETENTION_TIME_IN_DAYS = 14`
- 5Ensure the Task consuming the stream runs at least once within the retention window
- 6Set up monitoring alerts on Task execution so stream staleness is caught before the retention window expires