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.