Skip to content

feat(asset-catalog): maxHops and skipRelationships on the lineage graph (Egeria 6.3) - #526

Merged
dwolfson merged 1 commit into
odpi:mainfrom
dwolfson:feat/lineage-max-hops
Nov 3, 2026
Merged

dwolfson merged 1 commit into
odpi:mainfrom
dwolfson:feat/lineage-max-hops

Conversation

@dwolfson

@dwolfson dwolfson commented Nov 3, 2026

Copy link
Copy Markdown
Member

Adopts odpi/egeria#9420 (Egeria 6.3, "Improve efficiency of the asset graph") in AssetCatalog.

Request:

  • _async_get_asset_lineage_graph_by_guid, get_asset_lineage_graph_by_guid and get_asset_lineage_mermaid_graph gain max_hops (→ maxHops; Egeria's default is 8, 0 = no limit) and skip_relationships (→ skipRelationships, now honoured by the walk).
  • Both fields are sent only when set, so a 6.2 platform sees exactly the same body as before.
  • A per-call timeout now reaches _async_make_request; previously **kwargs was dropped, so a max_hops=0 caller was stuck on the 30 s client default.
  • Docstrings:
    • relationship_types replaces the defaults and accepts supertypes (LineageRelationship, DataLineageRelationship).
    • The 6.3 default list is DataFlow, ControlFlow, LineageMapping, ProcessCall, DerivedSchemaTypeQueryTarget, DataSetContent, DataMapping and ActionRequester. RequestForActionTarget and AssignmentScope are no longer followed.
    • max_mermaid_node_count defaults to 10.

Output:

  • A new Asset-Lineage-Hops report spec and lineage_hop_summary() give one row per node with hopsFromStart / hopLimitReached, headed "Graph cut at N hops · M elements continue past the limit".
  • A pre-6.3 graph is reported as of unknown completeness, never as complete.
  • The Mermaid helper logs a warning when the graph was cut.

Checks:

  • Field names were checked against odpi/egeria main 575a1222: AssetLineageGraphRequestBody.maxHops, skipRelationships and includeOnlyRelationships on the options base, and AssetLineageGraphNode.hopsFromStart / hopLimitReached.
  • Micro-tests capture the request body (new fields absent when unset) and check the summary: 1787 collected, 0 failed on py3.13.
  • Live: the laz quickstart now runs the 6.3-SNAPSHOT image containing #9420 (chore(quickstart): pin egeria-platform to 6.3-SNAPSHOT 67d20cb5 (egeria#9420) egeria-workspaces#748), and as-lineage-graph returns hopsFromStart there.

🤖 Generated with Claude Code

…ph (Egeria 6.3)

Egeria 6.3 (odpi/egeria#9420) cuts the asset lineage walk at maxHops
(default 8, 0 = no limit) and marks each node with hopsFromStart and
hopLimitReached; skipRelationships now works and RequestForActionTarget
and AssignmentScope are no longer followed by default.

- get_asset_lineage_graph_by_guid (async and sync) and
  get_asset_lineage_mermaid_graph take max_hops and skip_relationships,
  sent only when set, so a 6.2 platform sees the same body as before.
- A per-call timeout reaches _async_make_request (kwargs were dropped).
- Docstrings: relationship_types replaces the defaults and accepts
  supertypes; the 6.3 default list; max_mermaid_node_count defaults to 10.
- New Asset-Lineage-Hops report spec and lineage_hop_summary(): one row
  per node with hopsFromStart/hopLimitReached, headed by "Graph cut at N
  hops · M elements continue past the limit". A pre-6.3 graph is reported
  as of unknown completeness, never as complete, and the Mermaid helper
  logs a warning when the graph was cut.
- Micro-tests capture the request body and check the summary.

Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
@dwolfson
dwolfson merged commit 8e27fce into odpi:main Nov 3, 2026
6 checks passed
dwolfson added a commit that referenced this pull request Nov 3, 2026
6.2.20 ships #526: max_hops / skip_relationships / timeout on the asset
lineage graph methods for Egeria 6.3 (odpi/egeria#9420), and the
Asset-Lineage-Hops report spec with lineage_hop_summary().

Signed-off-by: Dan Wolfson <dan.wolfson@pdr-associates.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant