You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by "Adam Gilmore (JIRA)" <ji...@apache.org> on 2015/05/20 04:04:01 UTC
[jira] [Created] (DRILL-3150) Error when filtering non-existent
field with a string
Adam Gilmore created DRILL-3150:
-----------------------------------
Summary: 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 - Codegen
Affects Versions: 1.0.0
Reporter: Adam Gilmore
Assignee: Chris Westin
Priority: Critical
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)