Data & Analytics
A deleted OpenMetadata table may never reach the webhook
Audit OpenMetadata ingestion deletions when a table disappears in the UI but no change event or alert arrives.
November 8, 2026
An OpenMetadata issue reports that deleteStale soft-deletes an entity during ingestion without recording a change event. The table can show as deleted in the UI, while a webhook, alert, activity feed, or audit consumer hears nothing. The report contrasts this path with a UI deletion that does generate an event. The failure mode matters wherever a data governance workflow treats events as a complete log of catalog changes.
Reproduce both deletion paths in a test service
Enable an event subscription on tables and use a disposable source table. Run ingestion with markDeletedTables: true, remove the source table, and ingest again. Record the catalog state, event table or subscription delivery, and exact timestamps. Then perform a UI deletion of a second test table as a control. OpenMetadata's connector documentation defines markDeletedTables as the soft-delete setting; the specific event gap is from the issue.
Reconcile state rather than trusting the event stream
Until the behavior is fixed in the deployed version, compare catalog inventories or deleted flags with event-delivery logs on a schedule. Alert on mismatches; preserve the entity ID and deletion reason for follow-up. Avoid making downstream cleanup irreversible solely because a webhook is absent. The reporter observed the gap on server versions 2.0.1 and 2.0.6 and a code path on main; verify your version before adopting the same mitigation.
Close the loop after a fix
When a patch is available, rerun the controlled delete test and confirm exactly one event reaches every intended subscriber. Backfill any missed governance actions from an inventory comparison, not by replaying guessed event payloads. Document which period of deletion history is incomplete.
Adovo’s view
An event feed is a promise of visibility. If one path mutates state without emitting an event, the feed cannot serve as the only audit source. Reconcile it to actual state before automating consequences.
