Adovo

Data & Analytics

A dbt model with no parents can keep old OpenMetadata lineage

Detect stale dbt lineage after a model loses its final upstream dependency despite overrideLineage being enabled.

November 8, 2026

An OpenMetadata issue reports a specific zero-dependency gap: overrideLineage: true replaces one nonempty parent set with another, but leaves old dbt edges when the new manifest has depends_on.nodes: []. Ingestion still succeeds. A lineage graph can therefore tell an analyst that a removed upstream table affects a model, even though the compiled model no longer references it. This is a reported bug in tested versions, not proof about every deployment.

Compare the manifest with the lineage API

Pick a model whose dependency set was intentionally removed. Save the previous and current manifest.json, including the node's depends_on.nodes. Query the model's upstream lineage via the API after ingestion, then compare edge IDs and source types. A green ingestion job only shows that extraction and write steps completed; it does not verify that a zero-parent state deleted prior edges. The issue reproduces the difference between an existing service and a fresh one.

Scope remediation carefully

The reporter says explicit deletion of the model's DbtLineage edges clears the stale state. That is a targeted, destructive metadata change, so take a lineage snapshot, confirm the model ID and source type, and use an approved maintenance window before testing it. Do not clear manual or other-source lineage by broad deletion. Check downstream impact views and metadata consumers after the correction.

Add a regression gate

In CI or a scheduled metadata check, compare manifest parent sets with source-scoped OpenMetadata edges for a sample of changed models. Include the empty-set transition; tests that only swap parent A for C will miss this defect. Escalate the minimal reproducer and version numbers to the project maintainers.

Adovo’s view

Lineage is a dependency claim. Empty is a real value, not an absence of work. A trustworthy catalog must prove that deleting the last dependency deletes the last edge.

Continue exploring

Data & Analytics

dbtBigQuery

A dbt catalog flag can cost more than the BigQuery model build

Measure BigQuery catalog-query cost after a dbt v2 upgrade before adding --write-catalog to every local build.

Read more

Data & Analytics

dbt

A dbt private package can work in Cloud and fail on a GHES laptop

Diagnose dbt Fusion private package failures when local resolution points to public GitHub instead of GitHub Enterprise Server.

Read more

Data & Analytics

dbt

A successful dbt partial parse may retain old SQL literal content

Check dbt manifest raw_code after a whitespace-only edit inside a quoted SQL literal; a green parse can hide stale content.

Read more
Explore data and analytics services →