You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Chris Westin (JIRA)" <ji...@apache.org> on 2015/05/22 19:28:17 UTC

[jira] [Updated] (DRILL-3150) Error when filtering non-existent field with a string

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

Chris Westin updated DRILL-3150:
--------------------------------
    Fix Version/s: 1.1.0

> Error when filtering non-existent field with a string
> -----------------------------------------------------
>
>                 Key: DRILL-3150
>                 URL: https://issues.apache.org/jira/browse/DRILL-3150
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Execution - Relational Operators
>    Affects Versions: 1.0.0
>            Reporter: Adam Gilmore
>            Assignee: Chris Westin
>            Priority: Critical
>             Fix For: 1.1.0
>
>
> The following query throws an exception:
> {code}
> select count(*) from cp.`employee.json` where `blah` = 'test'
> {code}
> "blah" does not exist as a field in the JSON.  The expected behaviour would be to filter out all rows as that field is not present (thus cannot equal the string 'test').
> Instead, the following exception occurs:
> {code}
> org.apache.drill.common.exceptions.UserRemoteException: SYSTEM ERROR: test
> Fragment 0:0
> [Error Id: 5d6c9a82-8f87-41b2-a496-67b360302b76 on ip-10-1-50-208.ec2.internal:31010]
> {code}
> Apart from the fact the real error message is hidden, the issue is that we're trying to cast the varchar to int ('test' to an int).  This seems to be because the projection out of the scan when a field is not found becomes INT:OPTIONAL.
> The filter should not fail on this - if the varchar fails to convert to an int, the filter should just simply not allow any records through.



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