You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Abhishek Girish (JIRA)" <ji...@apache.org> on 2016/11/08 19:31:59 UTC

[jira] [Updated] (DRILL-4981) TPC-DS Query 75 & simplified variant fails on MapR-DB JSON Tables

     [ https://issues.apache.org/jira/browse/DRILL-4981?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Abhishek Girish updated DRILL-4981:
-----------------------------------
    Summary: TPC-DS Query 75 & simplified variant fails on MapR-DB JSON Tables  (was: TPC-DS Query 75 fails on MapR-DB JSON Tables)

> TPC-DS Query 75 & simplified variant fails on MapR-DB JSON Tables
> -----------------------------------------------------------------
>
>                 Key: DRILL-4981
>                 URL: https://issues.apache.org/jira/browse/DRILL-4981
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Storage - MapRDB
>    Affects Versions: 1.9.0
>            Reporter: Abhishek Girish
>            Assignee: Smidth Panchamia
>
> TPC-DS Query 75 fails on MapR-DB JSON Tables, but succeeds on Text, Parquet & JSON File formats. 
> I'll work on a simpler repro. Find the original query & error below:
> {code}
> WITH all_sales 
>      AS (SELECT d_year, 
>                 i_brand_id, 
>                 i_class_id, 
>                 i_category_id, 
>                 i_manufact_id, 
>                 Sum(sales_cnt) AS sales_cnt, 
>                 Sum(sales_amt) AS sales_amt 
>          FROM   (SELECT d_year, 
>                         i_brand_id, 
>                         i_class_id, 
>                         i_category_id, 
>                         i_manufact_id, 
>                         cs_quantity - COALESCE(cr_return_quantity, 0)        AS 
>                         sales_cnt, 
>                         cs_ext_sales_price - COALESCE(cr_return_amount, 0.0) AS 
>                         sales_amt 
>                  FROM   catalog_sales 
>                         JOIN item 
>                           ON i_item_sk = cs_item_sk 
>                         JOIN date_dim 
>                           ON d_date_sk = cs_sold_date_sk 
>                         LEFT JOIN catalog_returns 
>                                ON ( cs_order_number = cr_order_number 
>                                     AND cs_item_sk = cr_item_sk ) 
>                  WHERE  i_category = 'Men' 
>                  UNION 
>                  SELECT d_year, 
>                         i_brand_id, 
>                         i_class_id, 
>                         i_category_id, 
>                         i_manufact_id, 
>                         ss_quantity - COALESCE(sr_return_quantity, 0)     AS 
>                         sales_cnt, 
>                         ss_ext_sales_price - COALESCE(sr_return_amt, 0.0) AS 
>                         sales_amt 
>                  FROM   store_sales 
>                         JOIN item 
>                           ON i_item_sk = ss_item_sk 
>                         JOIN date_dim 
>                           ON d_date_sk = ss_sold_date_sk 
>                         LEFT JOIN store_returns 
>                                ON ( ss_ticket_number = sr_ticket_number 
>                                     AND ss_item_sk = sr_item_sk ) 
>                  WHERE  i_category = 'Men' 
>                  UNION 
>                  SELECT d_year, 
>                         i_brand_id, 
>                         i_class_id, 
>                         i_category_id, 
>                         i_manufact_id, 
>                         ws_quantity - COALESCE(wr_return_quantity, 0)     AS 
>                         sales_cnt, 
>                         ws_ext_sales_price - COALESCE(wr_return_amt, 0.0) AS 
>                         sales_amt 
>                  FROM   web_sales 
>                         JOIN item 
>                           ON i_item_sk = ws_item_sk 
>                         JOIN date_dim 
>                           ON d_date_sk = ws_sold_date_sk 
>                         LEFT JOIN web_returns 
>                                ON ( ws_order_number = wr_order_number 
>                                     AND ws_item_sk = wr_item_sk ) 
>                  WHERE  i_category = 'Men') sales_detail 
>          GROUP  BY d_year, 
>                    i_brand_id, 
>                    i_class_id, 
>                    i_category_id, 
>                    i_manufact_id) 
> SELECT prev_yr.d_year                        AS prev_year, 
>                curr_yr.d_year                        AS year1, 
>                curr_yr.i_brand_id, 
>                curr_yr.i_class_id, 
>                curr_yr.i_category_id, 
>                curr_yr.i_manufact_id, 
>                prev_yr.sales_cnt                     AS prev_yr_cnt, 
>                curr_yr.sales_cnt                     AS curr_yr_cnt, 
>                curr_yr.sales_cnt - prev_yr.sales_cnt AS sales_cnt_diff, 
>                curr_yr.sales_amt - prev_yr.sales_amt AS sales_amt_diff 
> FROM   all_sales curr_yr, 
>        all_sales prev_yr 
> WHERE  curr_yr.i_brand_id = prev_yr.i_brand_id 
>        AND curr_yr.i_class_id = prev_yr.i_class_id 
>        AND curr_yr.i_category_id = prev_yr.i_category_id 
>        AND curr_yr.i_manufact_id = prev_yr.i_manufact_id 
>        AND curr_yr.d_year = 2002 
>        AND prev_yr.d_year = 2002 - 1 
>        AND Cast(curr_yr.sales_cnt AS DECIMAL(17, 2)) / Cast(prev_yr.sales_cnt AS 
>                                                                 DECIMAL(17, 2)) 
>            < 0.9 
> ORDER  BY sales_cnt_diff
> LIMIT 100
> {code}
> Error:
> {code}
> Failed with exception
> java.sql.SQLException: SYSTEM ERROR: NullPointerException
> [Error Id: 128bb62b-a6af-4b8f-90d5-d9f516b9e3d4 on atsqa6c83.qa.lab:31010]
>   (org.apache.drill.exec.work.foreman.ForemanException) Unexpected exception during fragment initialization: null
>     org.apache.drill.exec.work.foreman.Foreman.run():281
>     java.util.concurrent.ThreadPoolExecutor.runWorker():1145
>     java.util.concurrent.ThreadPoolExecutor$Worker.run():615
>     java.lang.Thread.run():744
>   Caused By (java.lang.NullPointerException) null
>     org.apache.drill.exec.store.mapr.db.MapRDBGroupScan.applyAssignments():205
>     org.apache.drill.exec.planner.fragment.Wrapper$AssignEndpointsToScanAndStore.visitGroupScan():116
>     org.apache.drill.exec.planner.fragment.Wrapper$AssignEndpointsToScanAndStore.visitGroupScan():103
>     org.apache.drill.exec.physical.base.AbstractGroupScan.accept():63
>     org.apache.drill.exec.physical.base.AbstractPhysicalVisitor.visitChildren():138
>     org.apache.drill.exec.planner.fragment.Wrapper$AssignEndpointsToScanAndStore.visitOp():134
>     org.apache.drill.exec.planner.fragment.Wrapper$AssignEndpointsToScanAndStore.visitOp():103
>     org.apache.drill.exec.physical.base.AbstractPhysicalVisitor.visitProject():77
>     org.apache.drill.exec.physical.config.Project.accept():51
>     org.apache.drill.exec.physical.base.AbstractPhysicalVisitor.visitChildren():138
>     org.apache.drill.exec.planner.fragment.Wrapper$AssignEndpointsToScanAndStore.visitOp():134
>     org.apache.drill.exec.planner.fragment.Wrapper$AssignEndpointsToScanAndStore.visitOp():103
>     org.apache.drill.exec.physical.base.AbstractPhysicalVisitor.visitHashJoin():150
>     org.apache.drill.exec.physical.config.HashJoinPOP.accept():64
>     org.apache.drill.exec.physical.base.AbstractPhysicalVisitor.visitChildren():138
>     org.apache.drill.exec.planner.fragment.Wrapper$AssignEndpointsToScanAndStore.visitOp():134
>     org.apache.drill.exec.planner.fragment.Wrapper$AssignEndpointsToScanAndStore.visitOp():103
>     org.apache.drill.exec.physical.base.AbstractPhysicalVisitor.visitProject():77
>     org.apache.drill.exec.physical.config.Project.accept():51
>     org.apache.drill.exec.physical.base.AbstractPhysicalVisitor.visitChildren():138
>     org.apache.drill.exec.planner.fragment.Wrapper$AssignEndpointsToScanAndStore.visitOp():134
>     org.apache.drill.exec.planner.fragment.Wrapper$AssignEndpointsToScanAndStore.visitOp():103
>     org.apache.drill.exec.physical.base.AbstractPhysicalVisitor.visitHashJoin():150
>     org.apache.drill.exec.physical.config.HashJoinPOP.accept():64
>     org.apache.drill.exec.physical.base.AbstractPhysicalVisitor.visitChildren():138
>     org.apache.drill.exec.planner.fragment.Wrapper$AssignEndpointsToScanAndStore.visitOp():134
>     org.apache.drill.exec.planner.fragment.Wrapper$AssignEndpointsToScanAndStore.visitOp():103
>     org.apache.drill.exec.physical.base.AbstractPhysicalVisitor.visitProject():77
>     org.apache.drill.exec.physical.config.Project.accept():51
>     org.apache.drill.exec.physical.base.AbstractPhysicalVisitor.visitChildren():138
>     org.apache.drill.exec.planner.fragment.Wrapper$AssignEndpointsToScanAndStore.visitOp():134
>     org.apache.drill.exec.planner.fragment.Wrapper$AssignEndpointsToScanAndStore.visitOp():103
>     org.apache.drill.exec.physical.base.AbstractPhysicalVisitor.visitHashJoin():150
>     org.apache.drill.exec.physical.config.HashJoinPOP.accept():64
>     org.apache.drill.exec.physical.base.AbstractPhysicalVisitor.visitChildren():138
>     org.apache.drill.exec.planner.fragment.Wrapper$AssignEndpointsToScanAndStore.visitOp():134
>     org.apache.drill.exec.planner.fragment.Wrapper$AssignEndpointsToScanAndStore.visitOp():103
>     org.apache.drill.exec.physical.base.AbstractPhysicalVisitor.visitProject():77
>     org.apache.drill.exec.physical.config.Project.accept():51
>     org.apache.drill.exec.physical.base.AbstractPhysicalVisitor.visitChildren():138
>     org.apache.drill.exec.planner.fragment.Wrapper$AssignEndpointsToScanAndStore.visitOp():134
>     org.apache.drill.exec.planner.fragment.Wrapper$AssignEndpointsToScanAndStore.visitOp():103
>     org.apache.drill.exec.physical.base.AbstractPhysicalVisitor.visitUnion():57
>     org.apache.drill.exec.physical.config.UnionAll.accept():44
>     org.apache.drill.exec.physical.base.AbstractPhysicalVisitor.visitChildren():138
>     org.apache.drill.exec.planner.fragment.Wrapper$AssignEndpointsToScanAndStore.visitOp():134
>     org.apache.drill.exec.planner.fragment.Wrapper$AssignEndpointsToScanAndStore.visitOp():103
>     org.apache.drill.exec.physical.base.AbstractPhysicalVisitor.visitHashAggregate():102
>     org.apache.drill.exec.physical.config.HashAggregate.accept():67
>     org.apache.drill.exec.physical.base.AbstractPhysicalVisitor.visitChildren():138
>     org.apache.drill.exec.planner.fragment.Wrapper$AssignEndpointsToScanAndStore.visitOp():134
>     org.apache.drill.exec.planner.fragment.Wrapper$AssignEndpointsToScanAndStore.visitOp():103
>     org.apache.drill.exec.physical.base.AbstractPhysicalVisitor.visitProject():77
>     org.apache.drill.exec.physical.config.Project.accept():51
>     org.apache.drill.exec.physical.base.AbstractPhysicalVisitor.visitChildren():138
>     org.apache.drill.exec.planner.fragment.Wrapper$AssignEndpointsToScanAndStore.visitOp():134
>     org.apache.drill.exec.planner.fragment.Wrapper$AssignEndpointsToScanAndStore.visitExchange():108
>     org.apache.drill.exec.planner.fragment.Wrapper$AssignEndpointsToScanAndStore.visitExchange():103
>     org.apache.drill.exec.physical.base.AbstractExchange.accept():123
>     org.apache.drill.exec.planner.fragment.Wrapper.assignEndpoints():148
>     org.apache.drill.exec.planner.fragment.SoftAffinityFragmentParallelizer.parallelizeFragment():86
>     org.apache.drill.exec.planner.fragment.SimpleParallelizer.parallelizeFragment():251
>     org.apache.drill.exec.planner.fragment.SimpleParallelizer.parallelizeFragment():243
>     org.apache.drill.exec.planner.fragment.SimpleParallelizer.parallelizeFragment():243
>     org.apache.drill.exec.planner.fragment.SimpleParallelizer.parallelizeFragment():243
>     org.apache.drill.exec.planner.fragment.SimpleParallelizer.parallelizeFragment():243
>     org.apache.drill.exec.planner.fragment.SimpleParallelizer.getFragmentsHelper():167
>     org.apache.drill.exec.planner.fragment.SimpleParallelizer.getFragments():126
>     org.apache.drill.exec.work.foreman.Foreman.getQueryWorkUnit():596
>     org.apache.drill.exec.work.foreman.Foreman.runPhysicalPlan():426
>     org.apache.drill.exec.work.foreman.Foreman.runSQL():1010
>     org.apache.drill.exec.work.foreman.Foreman.run():264
>     java.util.concurrent.ThreadPoolExecutor.runWorker():1145
>     java.util.concurrent.ThreadPoolExecutor$Worker.run():615
>     java.lang.Thread.run():744
> 	at org.apache.drill.jdbc.impl.DrillCursor.nextRowInternally(DrillCursor.java:232)
> 	at org.apache.drill.jdbc.impl.DrillCursor.loadInitialSchema(DrillCursor.java:275)
> 	at org.apache.drill.jdbc.impl.DrillResultSetImpl.execute(DrillResultSetImpl.java:1943)
> 	at org.apache.drill.jdbc.impl.DrillResultSetImpl.execute(DrillResultSetImpl.java:76)
> 	at oadd.org.apache.calcite.avatica.AvaticaConnection$1.execute(AvaticaConnection.java:473)
> 	at org.apache.drill.jdbc.impl.DrillMetaImpl.prepareAndExecute(DrillMetaImpl.java:465)
> 	at oadd.org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:477)
> 	at org.apache.drill.jdbc.impl.DrillConnectionImpl.prepareAndExecuteInternal(DrillConnectionImpl.java:169)
> 	at oadd.org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:109)
> 	at oadd.org.apache.calcite.avatica.AvaticaStatement.executeQuery(AvaticaStatement.java:130)
> 	at org.apache.drill.jdbc.impl.DrillStatementImpl.executeQuery(DrillStatementImpl.java:112)
> 	at org.apache.drill.test.framework.DrillTestJdbc.executeQuery(DrillTestJdbc.java:175)
> 	at org.apache.drill.test.framework.DrillTestJdbc.run(DrillTestJdbc.java:100)
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> 	at java.lang.Thread.run(Thread.java:744)
> Caused by: oadd.org.apache.drill.common.exceptions.UserRemoteException: SYSTEM ERROR: NullPointerException
> {code}



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