[ https://issues.apache.org/jira/browse/ATLAS-1369?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Madhan Neethiraj updated ATLAS-1369: ------------------------------------ Fix Version/s: 0.8-incubating Committed to master: http://git-wip-us.apache.org/repos/asf/incubator-atlas/commit/62a05c97 > Optimize Gremlin created by DSL Translator > ------------------------------------------ > > Key: ATLAS-1369 > URL: https://issues.apache.org/jira/browse/ATLAS-1369 > Project: Atlas > Issue Type: Improvement > Reporter: Jeffrey Hagelberg > Assignee: Jeffrey Hagelberg > Priority: Major > Fix For: 0.8-incubating > > Attachments: rb54680.patch > > > The way the queries are generated now, in many cases the indices are not used > when executing queries. The main problem is that gremlin cannot currently > use the graph indices to optimize the lookup for "has" expressions within an > "and" or an "or". This JIRA introduces a GremlinQueryOptimizer that attempts > to extract "has" expressions out of "and" expressions and turn "or" > expressions into unions. > The code being submitted has only been tested with TP 3 at this point. There > are some issues that need to be fixed before this can be used with TP 2: > - GremlinQueryOptimizer is currently disabled when using TP 2. The > condition in AtlasRepositoryConfiguration.isGremlinOptimizerEnabled needs to > be updated. > - FunctionGenerator - generates functions that take GraphTraversal as an > argument. That should be changed to GreminPipeline when using TP 2. The > return type should probably come from a new method in GremlinExpressionFactory > - loop support - for TP2, we will need to add logic to make sure that the > loop call is not separated from the alias it references > - alias handling - the alias save/restore logic in > ExpandOrsOptimization.getBaseResultExpression() may be need to adjusted for > TP2 > - possibly other issues, TBD -- This message was sent by Atlassian JIRA (v7.6.3#76005)