Madhan Neethiraj updated ATLAS-1369:
    Fix Version/s: 0.8-incubating

Committed to master: 

> 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

Reply via email to