Khurram Faraaz created DRILL-2704:
-------------------------------------

             Summary: Schema change not reported in Union All query
                 Key: DRILL-2704
                 URL: https://issues.apache.org/jira/browse/DRILL-2704
             Project: Apache Drill
          Issue Type: Bug
          Components: Query Planning & Optimization
    Affects Versions: 0.9.0
         Environment: 4 node cluster on CentOS 
            Reporter: Khurram Faraaz
            Assignee: Jinfeng Ni


Schema change is not reported in Union All query. Inputs to Union All read from 
CSV file.

{code}
0: jdbc:drill:> select columns[0] from `f1.csv` where columns[0] = 13 union all 
select columns[0] from `f2.csv` where columns[0] = 100000;
Query failed: RemoteRpcException: Failure while running fragment., 99999.99 [ 
a80303f5-781c-4288-875e-90ad60c8caac on centos-02.qa.lab:31010 ]
[ a80303f5-781c-4288-875e-90ad60c8caac on centos-02.qa.lab:31010 ]


Error: exception while executing query: Failure while executing query. 
(state=,code=0)

0: jdbc:drill:> select * from `f1.csv`;
+------------+
|  columns   |
+------------+
| ["1"]      |
| ["2"]      |
| ["55"]     |
| ["77"]     |
| ["-1000000"] |
| ["13"]     |
| ["17"]     |
| ["19"]     |
| ["2"]      |
| ["10000000"] |
| ["999999"] |
| ["99999.99"] |
| ["12345.987"] |
| ["Hello World"] |
| ["this is a test string"] |
| ["foobar"] |
| []         |
| ["new string"] |
| ["34534534"] |
| ["345345"] |
| ["2321312"] |
| ["67867867"] |
| ["112319089"] |
| ["-14695967"] |
| ["100"]    |
| ["99"]     |
| ["7"]      |
| ["5"]      |
| ["13"]     |
| []         |
| []         |
| []         |
| ["0"]      |
| ["1"]      |
| ["-1"]     |
| null       |
| null       |
| null       |
| null       |
+------------+
39 rows selected (0.16 seconds)
0: jdbc:drill:> select * from `f2.csv`;
+------------+
|  columns   |
+------------+
| ["1"]      |
| ["0"]      |
| ["-1"]     |
| ["999999"] |
| ["10000000"] |
| ["100000"] |
| ["-13"]    |
| ["-17"]    |
| ["19"]     |
| ["17"]     |
| ["13"]     |
| []         |
| ["no way"] |
| ["good quality"] |
| []         |
| ["done!"]  |
| ["Yay!!!"] |
| null       |
+------------+
18 rows selected (0.128 seconds)

Casting columns[0] to varchar gives correct results

0: jdbc:drill:> select cast(columns[0] as varchar(100)) from `f1.csv` where 
columns[0] = '13' union all select cast(columns[0] as varchar(100)) from 
`f2.csv` where columns[0] = '100000';
+------------+
|   EXPR$0   |
+------------+
| 13         |
| 13         |
| 100000     |
+------------+
3 rows selected (0.474 seconds)

Stack trace from drillbit.log for failing query

2015-04-06 23:31:43,674 [2adce8a0-24c8-58ad-2f46-30c42a33ef2a:frag:0:0] ERROR 
o.a.d.e.w.f.AbstractStatusReporter - Error 
a4ec50e8-88ea-4474-9a36-b2250f34e340: Failure while running fragment.
java.lang.NumberFormatException: 99999.99
        at 
org.apache.drill.exec.expr.fn.impl.StringFunctionHelpers.nfeI(StringFunctionHelpers.java:96)
 ~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at 
org.apache.drill.exec.expr.fn.impl.StringFunctionHelpers.varCharToInt(StringFunctionHelpers.java:121)
 ~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at 
org.apache.drill.exec.test.generated.FiltererGen37.doEval(FilterTemplate2.java:42)
 ~[na:na]
        at 
org.apache.drill.exec.test.generated.FiltererGen37.filterBatchNoSV(FilterTemplate2.java:98)
 ~[na:na]
        at 
org.apache.drill.exec.test.generated.FiltererGen37.filterBatch(FilterTemplate2.java:71)
 ~[na:na]
        at 
org.apache.drill.exec.physical.impl.filter.FilterRecordBatch.doWork(FilterRecordBatch.java:82)
 ~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at 
org.apache.drill.exec.record.AbstractSingleRecordBatch.innerNext(AbstractSingleRecordBatch.java:93)
 ~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at 
org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:142)
 ~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at 
org.apache.drill.exec.physical.impl.validate.IteratorValidatorBatchIterator.next(IteratorValidatorBatchIterator.java:118)
 ~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at 
org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:99)
 ~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at 
org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:89)
 ~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at 
org.apache.drill.exec.record.AbstractSingleRecordBatch.innerNext(AbstractSingleRecordBatch.java:51)
 ~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at 
org.apache.drill.exec.physical.impl.svremover.RemovingRecordBatch.innerNext(RemovingRecordBatch.java:96)
 ~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at 
org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:142)
 ~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at 
org.apache.drill.exec.physical.impl.validate.IteratorValidatorBatchIterator.next(IteratorValidatorBatchIterator.java:118)
 ~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at 
org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:99)
 ~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at 
org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:89)
 ~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at 
org.apache.drill.exec.record.AbstractSingleRecordBatch.innerNext(AbstractSingleRecordBatch.java:51)
 ~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at 
org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.innerNext(ProjectRecordBatch.java:134)
 ~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at 
org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:142)
 ~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at 
org.apache.drill.exec.physical.impl.validate.IteratorValidatorBatchIterator.next(IteratorValidatorBatchIterator.java:118)
 ~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at 
org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:99)
 ~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at 
org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:89)
 ~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at 
org.apache.drill.exec.physical.impl.union.UnionAllRecordBatch$UnionAllInput$OneSideInput.nextBatch(UnionAllRecordBatch.java:452)
 ~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at 
org.apache.drill.exec.physical.impl.union.UnionAllRecordBatch$UnionAllInput.nextBatch(UnionAllRecordBatch.java:295)
 ~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at 
org.apache.drill.exec.physical.impl.union.UnionAllRecordBatch.innerNext(UnionAllRecordBatch.java:102)
 ~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at 
org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:142)
 ~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at 
org.apache.drill.exec.physical.impl.validate.IteratorValidatorBatchIterator.next(IteratorValidatorBatchIterator.java:118)
 ~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at 
org.apache.drill.exec.physical.impl.BaseRootExec.next(BaseRootExec.java:68) 
~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at 
org.apache.drill.exec.physical.impl.ScreenCreator$ScreenRoot.innerNext(ScreenCreator.java:96)
 ~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at 
org.apache.drill.exec.physical.impl.BaseRootExec.next(BaseRootExec.java:58) 
~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at 
org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:163)
 ~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at 
org.apache.drill.common.SelfCleaningRunnable.run(SelfCleaningRunnable.java:38) 
[drill-common-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
[na:1.7.0_75]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
[na:1.7.0_75]
        at java.lang.Thread.run(Thread.java:745) [na:1.7.0_75]
2015-04-06 23:31:43,675 [2adce8a0-24c8-58ad-2f46-30c42a33ef2a:frag:0:0] INFO  
o.a.drill.exec.work.foreman.Foreman - State change requested.  RUNNING --> 
FAILED
org.apache.drill.exec.rpc.RemoteRpcException: Failure while running fragment., 
99999.99 [ a4ec50e8-88ea-4474-9a36-b2250f34e340 on centos-02.qa.lab:31010 ]
[ a4ec50e8-88ea-4474-9a36-b2250f34e340 on centos-02.qa.lab:31010 ]

        at 
org.apache.drill.exec.work.foreman.QueryManager.statusUpdate(QueryManager.java:163)
 [drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at 
org.apache.drill.exec.work.foreman.QueryManager$RootStatusReporter.statusChange(QueryManager.java:281)
 [drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at 
org.apache.drill.exec.work.fragment.AbstractStatusReporter.fail(AbstractStatusReporter.java:114)
 [drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at 
org.apache.drill.exec.work.fragment.AbstractStatusReporter.fail(AbstractStatusReporter.java:110)
 [drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at 
org.apache.drill.exec.work.fragment.FragmentExecutor.internalFail(FragmentExecutor.java:230)
 [drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at 
org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:182)
 [drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at 
org.apache.drill.common.SelfCleaningRunnable.run(SelfCleaningRunnable.java:38) 
[drill-common-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
[na:1.7.0_75]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
[na:1.7.0_75]
        at java.lang.Thread.run(Thread.java:745) [na:1.7.0_75]

{code}



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

Reply via email to