Ramana Inukonda Nagaraj created DRILL-406:
---------------------------------------------

             Summary: JSON number range of valid values in drill different from 
native JSON
                 Key: DRILL-406
                 URL: https://issues.apache.org/jira/browse/DRILL-406
             Project: Apache Drill
          Issue Type: Bug
            Reporter: Ramana Inukonda Nagaraj


JSON has a maximum integer value of 9007199254740992 (2^53). However Drill 
seems to follow maximum integer range for JSON. IE 2^31

0: jdbc:drill:schema=dfs> select salary from 
dfs.`/user/root/employeeNestedObject.json`;
+------------+
|   salary   |
+------------+
| 2147483647 |
+------------+
1 row selected (0.079 seconds)

However when data is above 2^31 (Integer range) it fails with the exception

13:29:12.926 [WorkManager-3] ERROR o.a.d.e.s.easy.json.JSONRecordReader - Error 
reading next in Json reader
com.fasterxml.jackson.core.JsonParseException: Numeric value (2147483648) out 
of range of int
 at [Source: com.mapr.fs.MapRFsDataInputStream@6d9acc54; line: 6, column: 23]
        at 
com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1369) 
~[jackson-core-2.2.0.jar:2.2.0]
        at 
com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:599)
 ~[jackson-core-2.2.0.jar:2.2.0]
        at 
com.fasterxml.jackson.core.base.ParserBase.convertNumberToInt(ParserBase.java:847)
 ~[jackson-core-2.2.0.jar:2.2.0]
        at 
com.fasterxml.jackson.core.base.ParserBase.getIntValue(ParserBase.java:643) 
~[jackson-core-2.2.0.jar:2.2.0]
        at 
org.apache.drill.exec.schema.json.jackson.JacksonHelper.getValueFromFieldType(JacksonHelper.java:86)
 
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
        at 
org.apache.drill.exec.store.easy.json.JSONRecordReader$ReadType.recordData(JSONRecordReader.java:398)
 
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
        at 
org.apache.drill.exec.store.easy.json.JSONRecordReader$ReadType.readRecord(JSONRecordReader.java:304)
 
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
        at 
org.apache.drill.exec.store.easy.json.JSONRecordReader.next(JSONRecordReader.java:143)
 
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
        at 
org.apache.drill.exec.physical.impl.ScanBatch.next(ScanBatch.java:94) 
[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
        at 
org.apache.drill.exec.record.AbstractSingleRecordBatch.next(AbstractSingleRecordBatch.java:42)
 
[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
        at 
org.apache.drill.exec.physical.impl.ScreenCreator$ScreenRoot.next(ScreenCreator.java:80)
 
[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
        at 
org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:83)
 
[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
[na:1.7.0_45]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
[na:1.7.0_45]
        at java.lang.Thread.run(Thread.java:744) [na:1.7.0_45]
13:29:12.928 [WorkManager-3] DEBUG o.a.d.e.w.fragment.FragmentExecutor - Caught 
exception while running fragment
java.lang.NullPointerException: null
        at 
org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.setupNewSchema(ProjectRecordBatch.java:131)
 
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
        at 
org.apache.drill.exec.record.AbstractSingleRecordBatch.next(AbstractSingleRecordBatch.java:53)
 
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
        at 
org.apache.drill.exec.physical.impl.ScreenCreator$ScreenRoot.next(ScreenCreator.java:80)
 
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
        at 
org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:83)
 
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
[na:1.7.0_45]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
[na:1.7.0_45]
        at java.lang.Thread.run(Thread.java:744) [na:1.7.0_45]
13:29:12.929 [WorkManager-3] ERROR o.a.d.e.w.f.AbstractStatusReporter - Error 
05a5adcf-4e7b-4a3c-a509-5ac75198856f: Failure while running fragment.
java.lang.NullPointerException: null
        at 
org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.setupNewSchema(ProjectRecordBatch.java:131)
 
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
        at 
org.apache.drill.exec.record.AbstractSingleRecordBatch.next(AbstractSingleRecordBatch.java:53)
 
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
        at 
org.apache.drill.exec.physical.impl.ScreenCreator$ScreenRoot.next(ScreenCreator.java:80)
 
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
        at 
org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:83)
 
~[drill-java-exec-1.0.0-m2-incubating-SNAPSHOT-rebuffed.jar:1.0.0-m2-incubating-SNAPSHOT]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
[na:1.7.0_45]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
[na:1.7.0_45]
        at java.lang.Thread.run(Thread.java:744) [na:1.7.0_45]





--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to