You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@rya.apache.org by "Caleb Meier (JIRA)" <ji...@apache.org> on 2016/11/22 04:13:59 UTC

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

     [ https://issues.apache.org/jira/browse/RYA-153?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Caleb Meier resolved RYA-153.
-----------------------------
       Resolution: Fixed
    Fix Version/s: 3.2.10

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