Repository: atlas Updated Branches: refs/heads/master 572c5d648 -> da78c4831
ATLAS-2927: Update lineage query for Process entities #2 Project: http://git-wip-us.apache.org/repos/asf/atlas/repo Commit: http://git-wip-us.apache.org/repos/asf/atlas/commit/da78c483 Tree: http://git-wip-us.apache.org/repos/asf/atlas/tree/da78c483 Diff: http://git-wip-us.apache.org/repos/asf/atlas/diff/da78c483 Branch: refs/heads/master Commit: da78c48314c67f2998eab2190324ca3786b3bafc Parents: 572c5d6 Author: Sarath Subramanian <ssubraman...@hortonworks.com> Authored: Fri Oct 26 16:02:55 2018 -0700 Committer: Sarath Subramanian <ssubraman...@hortonworks.com> Committed: Fri Oct 26 16:02:55 2018 -0700 ---------------------------------------------------------------------- .../java/org/apache/atlas/discovery/EntityLineageService.java | 3 ++- .../java/org/apache/atlas/util/AtlasGremlin3QueryProvider.java | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/atlas/blob/da78c483/repository/src/main/java/org/apache/atlas/discovery/EntityLineageService.java ---------------------------------------------------------------------- diff --git a/repository/src/main/java/org/apache/atlas/discovery/EntityLineageService.java b/repository/src/main/java/org/apache/atlas/discovery/EntityLineageService.java index 89c969b..9a02046 100644 --- a/repository/src/main/java/org/apache/atlas/discovery/EntityLineageService.java +++ b/repository/src/main/java/org/apache/atlas/discovery/EntityLineageService.java @@ -309,7 +309,8 @@ public class EntityLineageService implements AtlasLineageService { bindings.put("guid", entityGuid); bindings.put("incomingEdgeLabel", incomingFrom); bindings.put("outgoingEdgeLabel", outgoingTo); - bindings.put("depth", depth); + bindings.put("dataSetDepth", depth); + bindings.put("processDepth", depth - 1); if (depth < 1) { ret = isDataSet ? gremlinQueryProvider.getQuery(FULL_LINEAGE_DATASET) : http://git-wip-us.apache.org/repos/asf/atlas/blob/da78c483/repository/src/main/java/org/apache/atlas/util/AtlasGremlin3QueryProvider.java ---------------------------------------------------------------------- diff --git a/repository/src/main/java/org/apache/atlas/util/AtlasGremlin3QueryProvider.java b/repository/src/main/java/org/apache/atlas/util/AtlasGremlin3QueryProvider.java index 6d3b1a8..20c570f 100644 --- a/repository/src/main/java/org/apache/atlas/util/AtlasGremlin3QueryProvider.java +++ b/repository/src/main/java/org/apache/atlas/util/AtlasGremlin3QueryProvider.java @@ -48,11 +48,11 @@ public class AtlasGremlin3QueryProvider extends AtlasGremlin2QueryProvider { case FULL_LINEAGE_DATASET: return "g.V().has('__guid', guid).repeat(__.inE(incomingEdgeLabel).as('e1').outV().outE(outgoingEdgeLabel).as('e2').inV()).emit().select('e1', 'e2').toList()"; case PARTIAL_LINEAGE_DATASET: - return "g.V().has('__guid', guid).repeat(__.inE(incomingEdgeLabel).as('e1').outV().outE(outgoingEdgeLabel).as('e2').inV()).times(depth).emit().select('e1', 'e2').toList()"; + return "g.V().has('__guid', guid).repeat(__.inE(incomingEdgeLabel).as('e1').outV().outE(outgoingEdgeLabel).as('e2').inV()).times(dataSetDepth).emit().select('e1', 'e2').toList()"; case FULL_LINEAGE_PROCESS: return "g.V().has('__guid', guid).outE(outgoingEdgeLabel).store('e').inV().repeat(__.inE(incomingEdgeLabel).store('e').outV().outE(outgoingEdgeLabel).store('e').inV()).cap('e').unfold().toList()"; case PARTIAL_LINEAGE_PROCESS: - return "g.V().has('__guid', guid).outE(outgoingEdgeLabel).store('e').inV().repeat(__.inE(incomingEdgeLabel).store('e').outV().outE(outgoingEdgeLabel).store('e').inV()).times(depth).cap('e').unfold().toList()"; + return "g.V().has('__guid', guid).outE(outgoingEdgeLabel).store('e').inV().until(loops().is(eq(processDepth))).repeat(__.inE(incomingEdgeLabel).store('e').outV().outE(outgoingEdgeLabel).store('e').inV()).cap('e').unfold().toList()"; case TO_RANGE_LIST: return ".range(startIdx, endIdx).toList()"; case RELATIONSHIP_SEARCH: