You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@rya.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2016/08/22 18:09:21 UTC

[jira] [Commented] (RYA-153) PCJ Matching Bug

    [ https://issues.apache.org/jira/browse/RYA-153?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15431324#comment-15431324 ] 

ASF GitHub Bot commented on RYA-153:
------------------------------------

GitHub user meiercaleb opened a pull request:

    https://github.com/apache/incubator-rya/pull/77

    RYA-153 Fixed JoinPCJMatcher bug

    Validate input to JoinSegmentPCJMatcher to prevent unpredictable behavior when it attempts to match queries with LeftJoins.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/meiercaleb/incubator-rya RYA-153

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/incubator-rya/pull/77.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #77
    
----
commit 6d67da5dea531fbba4f6f981a7c816c0ce3e1328
Author: Caleb Meier <me...@gmail.com>
Date:   2016-08-15T17:05:47Z

    RYA-153 Fixed JoinPCJMatcher bug

----


> PCJ Matching Bug
> ----------------
>
>                 Key: RYA-153
>                 URL: https://issues.apache.org/jira/browse/RYA-153
>             Project: Rya
>          Issue Type: Bug
>          Components: clients
>    Affects Versions: 3.2.10
>            Reporter: Caleb Meier
>            Assignee: Caleb Meier
>             Fix For: 3.2.10
>
>
> There is a bug in how the PCJOptimizer matches PCJs to sub-queries.  As it's currently implemented, the PCJOptimizer decomposes queries into JoinSegments (portions of the query which contain only Joins) and LeftJoinSegments (portions of the query which contain Joins and LeftJoins).  Each of these segment types has an associated matcher (JoinSegmentMatcher and LeftJoinSegmentMatcher) which performs the task of matching the PCJ queries to sub-queries of the respective segment.  The JoinSegmentMatcher currently attempts to match the PCJs with LeftJoins to some sub-query of that segment. From an optimization point of view, it shouldn't attempt this match given that the PCJ contains LeftJoins and the JoinSegment doesn't (a match will never occur).  But because the JoinSegmentMatcher isn't designed to handle LeftJoins, there is also buggy matching behavior occurring.  So there needs to be some sort of input validation for the JoinSegmentMatcher to prevent the attempted match of a PCJ with LeftJoins to a JoinQuerySegment. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)