Affected module
Ingestion + Backend + UI
Describe the bug
The pipeline field on LineageDetails (used by PUT /api/v1/lineage / AddLineageRequest) does not behave consistently with its name and typing. In practice type: "storedProcedure" works end-to-end; type: "pipeline" does not.
Ingestion
- In generated / SDK models, the field reads as a pipeline-style reference, but
EntityReference with type: "pipeline" is not supported in that slot. type: "storedProcedure" works even though the field is not named as stored-procedure-specific. In addition, there is no way to know what Entity Types are supported in the pipeline field.
Backend
- When creating lineage with
lineageDetails.pipeline set to a Pipeline entity (type: "pipeline"), the server fails silently (no clear error) and no lineage is created.
UI
- In Edit Edge web form, the control says “Search for Pipeline, StoredProcedures”, but only stored procedures appear in search results; pipelines do not, even when pipeline entities are searchable elsewhere in the product.
To Reproduce
-
Create a table → table lineage edge that includes lineageDetails.pipeline with a valid Pipeline entity reference (id + type: "pipeline"), using any of:
- UI — lineage editor, Edit Edge, set pipeline on the edge details
- Python SDK —
OpenMetadata.add_lineage(AddLineageRequest(...)) with LineageDetails(pipeline=EntityReference(..., type="pipeline"))
- REST —
PUT /api/v1/lineage with the same JSON shape
-
Optionally compare with the same payload using type: "storedProcedure" and a valid stored procedure id — that path succeeds.
Expected behavior
Ingestion
- If both Pipeline and StoredProcedure are valid in
lineageDetails.pipeline, the pydantic model's description should reflect both (e.g. union or explicit documentation).
- If only StoredProcedure is supported, the field name and types should be renamed/clarified so it is not presented as a pipeline-only reference.
Backend
- If Pipeline is supported: accept
type: "pipeline" and persist it on the edge; return errors only for real validation failures.
- If Pipeline is not supported: reject the request with a clear error (e.g. 400 + message), not a silent no-op.
UI
- If both are supported: Edit Edge search should return both pipelines and stored procedures, matching the help text (“Pipeline, StoredProcedures”).
- If only stored procedures are supported: update the help text (e.g. “Search for Stored Procedures” only).
Version
Additional context
Affected module
Ingestion + Backend + UI
Describe the bug
The
pipelinefield onLineageDetails(used byPUT /api/v1/lineage/AddLineageRequest) does not behave consistently with its name and typing. In practicetype: "storedProcedure"works end-to-end;type: "pipeline"does not.Ingestion
EntityReferencewithtype: "pipeline"is not supported in that slot.type: "storedProcedure"works even though the field is not named as stored-procedure-specific. In addition, there is no way to know what Entity Types are supported in the pipeline field.Backend
lineageDetails.pipelineset to a Pipeline entity (type: "pipeline"), the server fails silently (no clear error) and no lineage is created.UI
To Reproduce
Create a table → table lineage edge that includes
lineageDetails.pipelinewith a valid Pipeline entity reference (id+type: "pipeline"), using any of:OpenMetadata.add_lineage(AddLineageRequest(...))withLineageDetails(pipeline=EntityReference(..., type="pipeline"))PUT /api/v1/lineagewith the same JSON shapeOptionally compare with the same payload using
type: "storedProcedure"and a valid stored procedure id — that path succeeds.Expected behavior
Ingestion
lineageDetails.pipeline, the pydantic model's description should reflect both (e.g. union or explicit documentation).Backend
type: "pipeline"and persist it on the edge; return errors only for real validation failures.UI
Version
1.12.3Additional context