Hanifi Gunes created DRILL-1536:
-----------------------------------
Summary: Selecting a null valued field fails on json input format
with an irrelevant error message
Key: DRILL-1536
URL: https://issues.apache.org/jira/browse/DRILL-1536
Project: Apache Drill
Issue Type: Bug
Reporter: Hanifi Gunes
Running
{code:sql}
select t.id from dfs.`data/simple.json` t;
{code}
against
{panel:title=simple.json}
\{"id":null\}
{panel}
throws
{panel}
org.apache.drill.common.exceptions.DrillRuntimeException: Record is too big to
fit into allocated ValueVector
at
org.apache.drill.exec.store.easy.json.JSONRecordReader2.next(JSONRecordReader2.java:121)
at
org.apache.drill.exec.physical.impl.ScanBatch.next(ScanBatch.java:158)
at
org.apache.drill.exec.physical.impl.validate.IteratorValidatorBatchIterator.next(IteratorValidatorBatchIterator.java:117)
at
org.apache.drill.exec.physical.impl.producer.ProducerConsumerBatch$Producer.run(ProducerConsumerBatch.java:128)
at java.lang.Thread.run(Thread.java:745)
{panel}
We need to make sure a value vector for the field `id` is allocated before
attempting to manipulate the vector. Currently JsonReader does nothing beyond a
bound check when encountered with a null value. We should implement proper null
value handling.
Also the above error message should precisely reflect the root cause of the
problem. Thrown exception in this case is irrelevant and misleading.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)