You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Venki Korukanti (JIRA)" <ji...@apache.org> on 2015/04/10 03:51:12 UTC

[jira] [Commented] (DRILL-412) FoodMart data (account.json) cause JsonParseException

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

Venki Korukanti commented on DRILL-412:
---------------------------------------

Tested with all json files in {{https://github.com/julianhyde/foodmart-data-json/tree/master/src/main/resources}}.

{code}
for i in `ls /repos/footmart-data-json/src/main/resources*.json`; 
  do echo "select * from cp.\`${i}\`;" >> /tmp/foodmart.q; 
done;

./bin/sqlline -u "jdbc:drill:zk=local;schema=dfs.tmp" --run=/tmp/foodmart.q --force=true
{code}

No parsing errors, but the following are failing due to DRILL-1460. 
{code}
agg_c_14_sales_fact_1997.json
agg_g_ms_pcat_sales_fact_1997.json
agg_l_03_sales_fact_1997.json
agg_l_04_sales_fact_1997.json
agg_l_05_sales_fact_1997.json
agg_lc_06_sales_fact_1997.json
agg_lc_100_sales_fact_1997.json
agg_ll_01_sales_fact_1997.json
agg_pl_01_sales_fact_1997.json
sales_transactions.json
{code}


> FoodMart data (account.json) cause JsonParseException
> -----------------------------------------------------
>
>                 Key: DRILL-412
>                 URL: https://issues.apache.org/jira/browse/DRILL-412
>             Project: Apache Drill
>          Issue Type: Bug
>    Affects Versions: 0.4.0
>            Reporter: Chun Chang
>            Assignee: Venki Korukanti
>            Priority: Minor
>             Fix For: 0.9.0
>
>         Attachments: DRILL-412.1.patch.txt
>
>
> The account.json file contain character "[" that is not properly escaped. 
> {code}
> {
>   "account_id":3100,
>   "account_parent":3000,
>   "account_description":"Gross Sales",
>   "account_type":"Income",
>   "account_rollup":"+",
>   "Custom_Members":"LookUpCube("[Sales]","(Measures.[Store Sales],"+time.currentmember.UniqueName+","+ Store.currentmember.UniqueName+")")"
> }
> {code}
> This caused the following query failure:
> {code}
> 0: jdbc:drill:> select * from `account.json` limit 5;
> Query failed: org.apache.drill.exec.rpc.RpcException: Remote failure while running query.[error_id: "f6f296e6-d145-4b27-9622-fcbf6aa9e11d"
> endpoint {
>   address: "qa-node117.qa.lab"
>   user_port: 31010
>   control_port: 31011
>   data_port: 31012
> }
> error_type: 0
> message: "Failure while running fragment. < NullPointerException"
> ]
> Error: exception while executing query (state=,code=0)
> 0: jdbc:drill:> select * from `account.json` limit 5;
> Query failed: org.apache.drill.exec.rpc.RpcException: Remote failure while running query.[error_id: "aa455c46-94b0-43b4-8aaa-4bf224d3956d"
> endpoint {
>   address: "qa-node117.qa.lab"
>   user_port: 31010
>   control_port: 31011
>   data_port: 31012
> }
> error_type: 0
> message: "Failure while running fragment. < NullPointerException"
> ]
> Error: exception while executing query (state=,code=0)
> {code}
> And here is the stack trace:
> {code}
> 12:07:53.370 [WorkManager-6] ERROR o.a.d.e.s.easy.json.JSONRecordReader - Error reading next in Json reader
> com.fasterxml.jackson.core.JsonParseException: Unexpected character ('[' (code 91)): was expecting comma to separate OBJECT entries
>  at [Source: org.apache.hadoop.fs.FSDataInputStream@22c09510; line: 4, column: 154]
> 	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.ParserMinimalBase._reportUnexpectedChar(ParserMinimalBase.java:520) ~[jackson-core-2.2.0.jar:2.2.0]
> 	at com.fasterxml.jackson.core.json.UTF8StreamJsonParser.nextToken(UTF8StreamJsonParser.java:655) ~[jackson-core-2.2.0.jar:2.2.0]
> 	at org.apache.drill.exec.store.easy.json.JSONRecordReader$ReadType.readRecord(JSONRecordReader.java:316) ~[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.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.limit.LimitRecordBatch.next(LimitRecordBatch.java:86) [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]
> 12:07:53.372 [WorkManager-6] 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:154) ~[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.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.limit.LimitRecordBatch.next(LimitRecordBatch.java:86) ~[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]
> 12:07:53.373 [WorkManager-6] ERROR o.a.d.e.w.f.AbstractStatusReporter - Error aa455c46-94b0-43b4-8aaa-4bf224d3956d: Failure while running fragment.
> java.lang.NullPointerException: null
> 	at org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.setupNewSchema(ProjectRecordBatch.java:154) ~[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.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.limit.LimitRecordBatch.next(LimitRecordBatch.java:86) ~[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]
> {code}



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