[
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)