PostgreSQL

Removed assets permanently reappear in catalog after wipeAssets call

warning
availabilityUpdated Mar 13, 2026(via Exa)
How to detect:

When an asset is removed from code definitions and wipeAssets is called, the asset stub reappears permanently in the catalog. This occurs because wipeAssets does not remove FRESHNESS_STATE_CHANGE events from event_logs, and the freshness daemon continues emitting new FRESHNESS_STATE_CHANGE events for removed assets based on stale code location snapshots (~6 minute evaluation cycle). This creates a resurrection cycle where the asset_keys row is continually re-upserted.

Recommended action:

Stop the dagster-daemon container, manually delete the asset entries from event_logs and asset_keys tables in PostgreSQL, then restart the daemon to pick up the updated code location. Alternatively, wait for daemon to eventually sync with new code location snapshot, though this may take multiple evaluation cycles.