[ https://issues.apache.org/jira/browse/TINKERPOP-1870?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16337420#comment-16337420 ]
ASF GitHub Bot commented on TINKERPOP-1870: ------------------------------------------- GitHub user spmallette opened a pull request: https://github.com/apache/tinkerpop/pull/789 TINKERPOP-1870 Made VertexTraverserSet more generic to IndexedTraverserSet https://issues.apache.org/jira/browse/TINKERPOP-1870 IndexedTraverserSet does what VertexTraverserSet was doing, but in a more complete way. It respects all the semantics of a TraverserSet and fixes a problem that VertexTraverserSet had where it didn't properly account for Traverser merges. Added a full grip of unit tests for both TraverserSet and IndexedTraverserSet. All tests pass with `docker/build.sh -t -i` VOTE +1 You can merge this pull request into a Git repository by running: $ git pull https://github.com/apache/tinkerpop TINKERPOP-1870 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/tinkerpop/pull/789.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #789 ---- commit 068bef855c0f6c44a2ed71c1c8f4b18ad1e1dbdb Author: Stephen Mallette <spmva@...> Date: 2018-01-23T21:16:40Z TINKERPOP-1870 Made VertexTraverserSet more generic to IndexedTraverserSet IndexedTraverserSet does what VertexTraverserSet was doing, but in a more complete way. It respects all the semantics of a TraverserSet and fixes a problem that VertexTraverserSet had where it didn't properly account for Traverser merges. Added a full grip of unit tests for both TraverserSet and IndexedTraverserSet. ---- > n^2 synchronious operation in OLAP WorkerExecutor.execute() method > ------------------------------------------------------------------ > > Key: TINKERPOP-1870 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1870 > Project: TinkerPop > Issue Type: Improvement > Affects Versions: 3.2.7, 3.3.1 > Reporter: Artem Aliev > Assignee: stephen mallette > Priority: Major > Fix For: 3.2.8, 3.3.2 > > Attachments: findTraverser1.png, findTraverser2.png, > findTraverserFixed.png > > > [https://github.com/apache/tinkerpop/blob/master/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/WorkerExecutor.java#L80-L93] > This block of code iterates over all remote traverses to select one related > to the current vertex and remove it. This operation is repeated for the next > vertex and so one. For following example query it means n^2 operations (n is > number of vertices). All of them in sync block. multi core spark executor > will do this operations serial. > {code} > g.V().emit().repeat(both().dedup()).count().next() > {code} > See jvisualvm screenshot. -- This message was sent by Atlassian JIRA (v7.6.3#76005)