[
https://issues.apache.org/jira/browse/ATLAS-1369?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15816213#comment-15816213
]
Jeffrey Hagelberg commented on ATLAS-1369:
------------------------------------------
[~suma.shivaprasad] - I'm wondering if you were able to get anywhere this this?
Is there any reason for us not to complete the review process for these
changes and get it committed?
> 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
> 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
(v6.3.4#6332)