> On April 29, 2020, 7:57 p.m., Sidharth Mishra wrote:
> > repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasRelationshipStoreV2.java
> > Lines 780 (patched)
> > <https://reviews.apache.org/r/72452/diff/1/?file=2229439#file2229439line781>
> >
> >     Just thinking the below might be more easy to understand if someone is 
> > not aware of why we do both edge count.
> >     
> >            AtlasPerfMetrics.MetricRecorder metric = 
> > RequestContext.get().startMetricRecord("getRelationshipEdge");
> >     
> >             AtlasEdge           ret         = null;
> >             long toVertexIncomingEdgesCount = 
> > graphHelper.getInComingEdgesByLabelCount(toVertex, relationshipLabel);
> >             
> >             if(toVertexIncomingEdgesCount > 0) {
> >                 long fromVertexOutgoingEdgesCount = 
> > graphHelper.getOutGoingEdgesByLabelCount(fromVertex, relationshipLabel);
> >                 
> >                 if(toVertexIncomingEdgesCount < 
> > fromVertexOutgoingEdgesCount) {
> >                     Iterator<AtlasEdge> edgesIterator = 
> > graphHelper.getIncomingEdgesByLabel(toVertex, relationshipLabel);
> >                     ret = getActiveEdgeFromList(fromVertex.getId(), 
> > edgesIterator);
> >                 } else if(fromVertexOutgoingEdgesCount > 0) {
> >                     Iterator<AtlasEdge> edgesIterator = 
> > graphHelper.getOutGoingEdgesByLabel(fromVertex, relationshipLabel);
> >                     ret = getActiveEdgeFromList(toVertex.getId(), 
> > edgesIterator);
> >                 }
> >             }
> >             
> >             RequestContext.get().endMetricRecord(metric);
> >             return ret;

I have changed my approach. Kindly review my latest patch.


- Ashutosh


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/72452/#review220553
-----------------------------------------------------------


On April 29, 2020, 5:51 p.m., Ashutosh Mestry wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/72452/
> -----------------------------------------------------------
> 
> (Updated April 29, 2020, 5:51 p.m.)
> 
> 
> Review request for atlas, Madhan Neethiraj, Nikhil Bonte, Nixon Rodrigues, 
> Sarath Subramanian, and Sidharth Mishra.
> 
> 
> Bugs: ATLAS-3762
>     https://issues.apache.org/jira/browse/ATLAS-3762
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> **Problem Definition**
> Please refer to JIRA for details.
> 
> **Updates**
> - Modifed: _AtlasJanusGraph.wrapVertices_ and _AtlasJanusGraph.wrapEdges_ : 
> Now uses genuine iterators. This reduces number of elements fetched, since 
> the search is linear.
> - New: _AtlasVertex.getEdgeCount_ fetches edge count using iterator returned 
> from _JanusVertex_. Fetching the count is effecient using stream support.
> 
> 
> Diffs
> -----
> 
>   
> graphdb/api/src/main/java/org/apache/atlas/repository/graphdb/AtlasVertex.java
>  9406e26ff 
>   
> graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasJanusGraph.java
>  eb0206271 
>   
> graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasJanusVertex.java
>  fdc9fd0b5 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 
> 2b8227a7e 
>   
> repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasRelationshipStoreV2.java
>  d1c1f1255 
> 
> 
> Diff: https://reviews.apache.org/r/72452/diff/1/
> 
> 
> Testing
> -------
> 
> **Volume testing**
> High volume testing makes the edge fetching effcient. Cases where incoming 
> edges was in 1000s and outgoing edges was handful.
> 
> Memory footprint has improved since JanusGrpah caches edges and then expires 
> it. Fetching fewer edges will reduce number of items in memory.
> 
> **Pre-commit Build**
> https://builds.apache.org/view/A/view/Atlas/job/PreCommit-ATLAS-Build-Test/1858/
> 
> 
> Thanks,
> 
> Ashutosh Mestry
> 
>

Reply via email to