Metacenta

Lineage integrity · rule lineage-dataset-many-writers

Datasets written by more than one OpenLineage job

A Metacenta review checks this under the rule Each dataset has one writing job. Everything below applies whether or not you ever commission one.

What this rule checks

From an export of OpenLineage events, this rule flags each dataset that two or more distinct jobs wrote to, across every event in the export. A dataset is identified by its namespace and name. Jobs are counted by name.

Why it matters

The dataset's contents depend on which job ran last, and no single team controls that.

How to fix it

Give each dataset one writing job. Give the dataset one writing job. If several jobs write different partitions on purpose, document that where every owning team will see it.

When it is fine to leave

Jobs that write separate partitions or date ranges into one table on purpose are not competing. A job renamed during the export window also shows up as two writers. Tell us which applies, and the finding comes out of your report.

What we need to check it

An export of OpenLineage events, such as a JSON Lines file from your lineage backend. We read job and dataset names and each job's outputs, never the data. The rule declines when no event could be read.