You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/reference/openlineage.md
+57-1Lines changed: 57 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -311,6 +311,12 @@ When the consumer is enabled, the following endpoints are available on the Feast
311
311
312
312
Both endpoints require the `X-API-Key` header (or `Authorization: Bearer <key>`) if `consumer.api_key` is configured.
313
313
314
+
#### Admin Endpoints
315
+
316
+
| Endpoint | Method | Description |
317
+
|----------|--------|-------------|
318
+
|`/lineage/openlineage/reset`|`DELETE`| Purge all OpenLineage data. Accepts optional `?namespace=X` to delete only a specific namespace. Requires API key. |
319
+
314
320
#### OpenLineage Query Endpoints (UI-facing)
315
321
316
322
| Endpoint | Method | Description |
@@ -320,6 +326,8 @@ Both endpoints require the `X-API-Key` header (or `Authorization: Bearer <key>`)
320
326
|`/lineage/openlineage/events`|`GET`| Browse stored events with filtering |
321
327
|`/lineage/openlineage/jobs`|`GET`| List all known OpenLineage jobs |
322
328
|`/lineage/openlineage/datasets`|`GET`| List all known OpenLineage datasets |
329
+
|`/lineage/openlineage/runs`|`GET`| List runs with optional `?job_namespace=X&job_name=Y` filtering |
330
+
|`/lineage/openlineage/runs/{run_id}`|`GET`| Single run detail with input/output datasets |
323
331
324
332
#### Registry Query Endpoints
325
333
@@ -381,7 +389,7 @@ When the consumer is enabled, the lineage page in the Feast UI shows two tabs:
381
389
382
390
**Lineage tab**
383
391
384
-
- **OpenLineage Graph** (default) — shows lineage from all OpenLineage producers with cross-producer connectivity. Nodes are color-coded by producer (colors generated dynamically). The graph supports filtering by type, producer, and object name. Clicking a node opens a **detail panel** showing description, schema, tags, features, entities, data quality metrics, data source info, and other facets.
392
+
- **OpenLineage Graph** (default) — shows lineage from all OpenLineage producers with cross-producer connectivity. Nodes are color-coded by producer (colors generated dynamically). The graph supports filtering by type, producer, and object name. Clicking a node opens a **detail panel** showing description, schema, tags, features, entities, data quality metrics, data source info, other facets, and **run history** (for job nodes — see [Per-Run Lineage](#per-run-lineage-run-history)).
385
393
- **Feast Only Lineage** (checkbox) — switches to the original Feast registry view (DataSource → FeatureView → FeatureService) powered entirely by the Feast registry.
386
394
387
395
**Events tab**
@@ -405,6 +413,54 @@ The OpenLineage consumer integrates with Feast's existing RBAC:
405
413
- **Write access** (producers sending events): Authenticated via API key in the `X-API-Key` header
406
414
- **Read access** (UI viewing lineage): Namespace-based filtering maps OpenLineage namespaces to Feast projects. Users see only lineage data for namespaces they have access to via the `namespace_mapping` configuration
407
415
416
+
### Lineage Cleanup / Reset
417
+
418
+
Over time the OpenLineage store accumulates historical data. Two mechanisms are provided for cleanup:
419
+
420
+
#### Admin Reset Endpoint
421
+
422
+
Use the `DELETE /lineage/openlineage/reset` endpoint to purge lineage data. The endpoint requires the same API key used for event ingestion.
A full purge deletes data from all seven `openlineage_*` tables. A namespace-scoped purge deletes jobs, datasets, runs, events, edges, and symlinks associated with that namespace, leaving other namespaces intact.
435
+
436
+
#### Feast Teardown Hook
437
+
438
+
When you run `feast teardown`, Feast automatically cleans up OpenLineage data for the project's namespace (if the consumer is configured). This ensures that tearing down a Feast project doesn't leave orphaned lineage data behind.
439
+
440
+
```bash
441
+
# Tears down the Feast project AND its OpenLineage lineage
442
+
feast teardown
443
+
```
444
+
445
+
### Per-Run Lineage (Run History)
446
+
447
+
The consumer tracks individual pipeline runs in the `openlineage_runs` table. When you click on a **job node** in the OpenLineage Graph, the detail panel shows a **Run History** section with:
448
+
449
+
- A table of past runs: truncated run ID, status badge (COMPLETE, FAIL, RUNNING, ABORT), start time, and duration
450
+
- Click any run to expand its **inputs and outputs** — the specific datasets that run consumed and produced
The run detail response includes `inputs` and `outputs` arrays, each containing the dataset namespace, name, and any I/O facets recorded by the producer.
463
+
408
464
### Database Schema
409
465
410
466
The consumer creates the following tables (automatically on first startup):
0 commit comments