[ 
https://issues.apache.org/jira/browse/DRILL-1245?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14339266#comment-14339266
 ] 

Hanifi Gunes commented on DRILL-1245:
-------------------------------------

Please correct this statement if found wrong. However, what makes you think 
this does not work, I believe, is in fact error propagation is broken.

Since running the same query on the same file raises:

{code}
org.apache.drill.common.exceptions.DrillRuntimeException: Error parsing JSON. - 
Parser was at record: 4 column: 24
        at 
org.apache.drill.exec.store.easy.json.JSONRecordReader.handleAndRaise(JSONRecordReader.java:102)
 ~[classes/:na]
        at 
org.apache.drill.exec.store.easy.json.JSONRecordReader.next(JSONRecordReader.java:149)
 ~[classes/:na]
        at 
org.apache.drill.exec.physical.impl.ScanBatch.next(ScanBatch.java:165) 
~[classes/:na]
        at 
org.apache.drill.exec.physical.impl.validate.IteratorValidatorBatchIterator.next(IteratorValidatorBatchIterator.java:118)
 ~[classes/:na]
        at 
org.apache.drill.exec.physical.impl.BaseRootExec.next(BaseRootExec.java:67) 
[classes/:na]
        at 
org.apache.drill.exec.physical.impl.ScreenCreator$ScreenRoot.innerNext(ScreenCreator.java:97)
 ~[classes/:na]
        at 
org.apache.drill.exec.physical.impl.BaseRootExec.next(BaseRootExec.java:57) 
[classes/:na]
        at 
org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:115)
 [classes/:na]
        at 
org.apache.drill.exec.work.WorkManager$RunnableWrapper.run(WorkManager.java:303)
 [classes/:na]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
[na:1.7.0_65]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
[na:1.7.0_65]
        at java.lang.Thread.run(Thread.java:745) [na:1.7.0_65]
Caused by: com.fasterxml.jackson.core.JsonParseException: Invalid numeric 
value: Leading zeroes not allowed
 at [Source: org.apache.drill.exec.vector.complex.fn.JsonReader@6a849abf; line: 
3, column: 24]
        at 
com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1419) 
~[jackson-core-2.4.3.jar:2.4.3]
        at 
com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:508)
 ~[jackson-core-2.4.3.jar:2.4.3]
        at 
com.fasterxml.jackson.core.base.ParserBase.reportInvalidNumber(ParserBase.java:943)
 ~[jackson-core-2.4.3.jar:2.4.3]
        at 
com.fasterxml.jackson.core.json.UTF8StreamJsonParser._verifyNoLeadingZeroes(UTF8StreamJsonParser.java:1348)
 ~[jackson-core-2.4.3.jar:2.4.3]
        at 
com.fasterxml.jackson.core.json.UTF8StreamJsonParser._parsePosNumber(UTF8StreamJsonParser.java:1195)
 ~[jackson-core-2.4.3.jar:2.4.3]
        at 
com.fasterxml.jackson.core.json.UTF8StreamJsonParser.nextToken(UTF8StreamJsonParser.java:726)
 ~[jackson-core-2.4.3.jar:2.4.3]
        at 
org.apache.drill.exec.vector.complex.fn.JsonReader.writeData(JsonReader.java:240)
 ~[classes/:na]
        at 
org.apache.drill.exec.vector.complex.fn.JsonReader.writeDataSwitch(JsonReader.java:208)
 ~[classes/:na]
        at 
org.apache.drill.exec.vector.complex.fn.JsonReader.writeToVector(JsonReader.java:182)
 ~[classes/:na]
        at 
org.apache.drill.exec.vector.complex.fn.JsonReader.write(JsonReader.java:156) 
~[classes/:na]
        at 
org.apache.drill.exec.store.easy.json.JSONRecordReader.next(JSONRecordReader.java:125)
 ~[classes/:na]
        at 
org.apache.drill.exec.physical.impl.ScanBatch.next(ScanBatch.java:165) 
~[classes/:na]
        at 
org.apache.drill.exec.physical.impl.validate.IteratorValidatorBatchIterator.next(IteratorValidatorBatchIterator.java:118)
 ~[classes/:na]
        at 
org.apache.drill.exec.physical.impl.BaseRootExec.next(BaseRootExec.java:67) 
[classes/:na]
        at 
org.apache.drill.exec.physical.impl.ScreenCreator$ScreenRoot.innerNext(ScreenCreator.java:97)
 ~[classes/:na]
        at 
org.apache.drill.exec.physical.impl.BaseRootExec.next(BaseRootExec.java:57) 
[classes/:na]
        at 
org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:115)
 [classes/:na]
        at 
org.apache.drill.exec.work.WorkManager$RunnableWrapper.run(WorkManager.java:303)
 [classes/:na]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
[na:1.7.0_65]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
[na:1.7.0_65]
        at java.lang.Thread.run(Thread.java:745) [na:1.7.0_65]
        ... 10 more
{code}

> Drill should pinpoint to the "Problem Record" when it fails to parse a json 
> file
> --------------------------------------------------------------------------------
>
>                 Key: DRILL-1245
>                 URL: https://issues.apache.org/jira/browse/DRILL-1245
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Storage - JSON
>            Reporter: Rahul Challapalli
>            Assignee: Sudheesh Katkam
>             Fix For: 0.8.0
>
>         Attachments: DRILL-1245.1.patch.txt
>
>
> git.commit.id.abbrev=98b208e
> Data :
> {code}
> {"name":"name1", "id":1}
> {"name":"name2", "id":2}
> {"name":"name3", "id":3}
> {"name":"name4", "id":04}
> {"name":"name5", "id":5}
> {code}
> Query :
> {code}
>  select * from cp.`file.json`;
> Query failed: Screen received stop request sent. Invalid numeric value: 
> Leading zeroes not allowed
>  at [Source: java.io.BufferedReader@202fbdb4; line: 1, column: 24] 
> [c11a17bd-1a3a-4eed-a848-6d79225399d3]
> Error: exception while executing query: Failure while trying to get next 
> result batch. (state=,code=0)
> {code}
> The msg should point to the exact record which is causing the problem as it 
> will be hard looking into the data and finding out the problem record.



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

Reply via email to