fix(ui): fix a too much recursion error when column lineage is highlighted #8207
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR fixes a "too much recursion" error (might be reported differently in different browsers: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Too_much_recursion) which occurs when the lineage of a column is highlighted when hovering over or selecting a column in the lineage view. The error only occurs when there is a circle in the lineage of a field (i.e. a field depends directly or indirectly on itself).
Usually it makes no sense that a field depends on itself if you think of SQL views, but in relation with data pipelines this could happen and could also make sense then (in our case it's within the SAP BW, where I am currently working on a custom source).
The solution is simply to check whether we have seen an edge already in our list of edges and if this is the case to not proceed with this edge because we already have seen it and therefore we also already have seen the subsequent edges (otherwise we would not see the edge a second time when we check it).
Checklist