Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id BA89C200C09 for ; Wed, 11 Jan 2017 00:54:50 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id B92BE160B4D; Tue, 10 Jan 2017 23:54:50 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 0B935160B3D for ; Wed, 11 Jan 2017 00:54:49 +0100 (CET) Received: (qmail 88298 invoked by uid 500); 10 Jan 2017 23:54:49 -0000 Mailing-List: contact dev-help@atlas.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@atlas.incubator.apache.org Delivered-To: mailing list dev@atlas.incubator.apache.org Received: (qmail 88287 invoked by uid 99); 10 Jan 2017 23:54:49 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 10 Jan 2017 23:54:49 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 77855180140 for ; Tue, 10 Jan 2017 23:54:48 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -6.219 X-Spam-Level: X-Spam-Status: No, score=-6.219 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-2.999] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id 5RQtNMdXo5hc for ; Tue, 10 Jan 2017 23:54:46 +0000 (UTC) Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id CC2355FDFE for ; Tue, 10 Jan 2017 23:54:27 +0000 (UTC) Received: (qmail 82563 invoked by uid 99); 10 Jan 2017 23:53:58 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 10 Jan 2017 23:53:58 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 6A73D2C0079 for ; Tue, 10 Jan 2017 23:53:58 +0000 (UTC) Date: Tue, 10 Jan 2017 23:53:58 +0000 (UTC) From: "Suma Shivaprasad (JIRA)" To: dev@atlas.incubator.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (ATLAS-1369) Optimize Gremlin created by DSL Translator MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Tue, 10 Jan 2017 23:54:50 -0000 [ https://issues.apache.org/jira/browse/ATLAS-1369?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15816571#comment-15816571 ] Suma Shivaprasad commented on ATLAS-1369: ----------------------------------------- Hi [~jnhagelb] Since getting this to work with TP2 was taking more time, I fixed it in an easier way with the code on top of 0.7-incubating release - https://issues.apache.org/jira/browse/ATLAS-1403 which we are planning to release in 0.7.1-incubating. Did a couple of minor issues with this patch while testing 1. changed java.util.Function to guava Function 2. Enabled GremlinQueryOptimizer for TP2 3. Changed GraphTraversal to GremlinPipeline After these changes there were a bunch of failures as I remember correctly with the groupBy, order by expressions related queries which I couldnt get time to debug further. I guess there needs to be some changes done on top of this patch to make it work for TP2 as you mentioned which needs to be addressed before committing. Please take a look at https://issues.apache.org/jira/browse/ATLAS-1403 and see if it would be helpful with this optimization effort as well. Let me know if you have any questions. > 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)