You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Holger Kiel (JIRA)" <ji...@apache.org> on 2017/07/29 11:49:02 UTC

[jira] [Updated] (DRILL-4984) Limit 0 raises NullPointerException on JDBC storage sources

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

Holger Kiel updated DRILL-4984:
-------------------------------
    Affects Version/s: 1.11.0

Still exists in 1.11.0 release:

{code}
[Error Id: b729345a-d46d-4b3c-89fd-d9bb601926b4 on localhost:31010]
org.apache.drill.common.exceptions.UserException: SYSTEM ERROR: NullPointerException


[Error Id: b729345a-d46d-4b3c-89fd-d9bb601926b4 on localhost:31010]
        at org.apache.drill.common.exceptions.UserException$Builder.build(UserException.java:550) ~[drill-common-1.11.0.jar:1.11.0]
        at org.apache.drill.exec.work.foreman.Foreman$ForemanResult.close(Foreman.java:847) [drill-java-exec-1.11.0.jar:1.11.0]
        at org.apache.drill.exec.work.foreman.Foreman.moveToState(Foreman.java:977) [drill-java-exec-1.11.0.jar:1.11.0]
        at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:297) [drill-java-exec-1.11.0.jar:1.11.0]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_131]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_131]
        at java.lang.Thread.run(Thread.java:748) [na:1.8.0_131]
Caused by: org.apache.drill.exec.work.foreman.ForemanException: Unexpected exception during fragment initialization: null
        ... 4 common frames omitted
Caused by: java.lang.NullPointerException: null
        at org.apache.drill.exec.planner.sql.handlers.FindHardDistributionScans.visit(FindHardDistributionScans.java:55) ~[drill-java-exec-1.11.0.jar:1.11.0]
        at org.apache.calcite.rel.core.TableScan.accept(TableScan.java:164) ~[calcite-core-1.4.0-drill-r21.jar:1.4.0-drill-r21]
        at org.apache.calcite.rel.RelShuttleImpl.visitChild(RelShuttleImpl.java:53) ~[calcite-core-1.4.0-drill-r21.jar:1.4.0-drill-r21]
        at org.apache.calcite.rel.RelShuttleImpl.visitChildren(RelShuttleImpl.java:68) ~[calcite-core-1.4.0-drill-r21.jar:1.4.0-drill-r21]
        at org.apache.calcite.rel.RelShuttleImpl.visit(RelShuttleImpl.java:126) ~[calcite-core-1.4.0-drill-r21.jar:1.4.0-drill-r21]
        at org.apache.calcite.rel.AbstractRelNode.accept(AbstractRelNode.java:273) ~[calcite-core-1.4.0-drill-r21.jar:1.4.0-drill-r21]
        at org.apache.calcite.rel.RelShuttleImpl.visitChild(RelShuttleImpl.java:53) ~[calcite-core-1.4.0-drill-r21.jar:1.4.0-drill-r21]
        at org.apache.calcite.rel.RelShuttleImpl.visitChildren(RelShuttleImpl.java:68) ~[calcite-core-1.4.0-drill-r21.jar:1.4.0-drill-r21]
        at org.apache.calcite.rel.RelShuttleImpl.visit(RelShuttleImpl.java:126) ~[calcite-core-1.4.0-drill-r21.jar:1.4.0-drill-r21]
        at org.apache.calcite.rel.AbstractRelNode.accept(AbstractRelNode.java:273) ~[calcite-core-1.4.0-drill-r21.jar:1.4.0-drill-r21]
        at org.apache.drill.exec.planner.sql.handlers.FindHardDistributionScans.canForceSingleMode(FindHardDistributionScans.java:45) ~[drill-java-exec-1.11.0.jar:1.11.0]
        at org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.convertToRawDrel(DefaultSqlHandler.java:264) ~[drill-java-exec-1.11.0.jar:1.11.0]
        at org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.convertToDrel(DefaultSqlHandler.java:292) ~[drill-java-exec-1.11.0.jar:1.11.0]
        at org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan(DefaultSqlHandler.java:169) ~[drill-java-exec-1.11.0.jar:1.11.0]
        at org.apache.drill.exec.planner.sql.DrillSqlWorker.getQueryPlan(DrillSqlWorker.java:131) ~[drill-java-exec-1.11.0.jar:1.11.0]
        at org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWorker.java:79) ~[drill-java-exec-1.11.0.jar:1.11.0]
        at org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:1050) [drill-java-exec-1.11.0.jar:1.11.0]
        at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:280) [drill-java-exec-1.11.0.jar:1.11.0]
        ... 3 common frames omitted
2017-07-29 13:41:32,990 [qtp1765040384-42] ERROR o.a.d.e.server.rest.QueryResources - Query from Web UI Failed
org.apache.drill.common.exceptions.UserRemoteException: SYSTEM ERROR: NullPointerException


[Error Id: b729345a-d46d-4b3c-89fd-d9bb601926b4 on localhost:31010]
        at org.apache.drill.exec.rpc.AbstractDisposableUserClientConnection.sendResult(AbstractDisposableUserClientConnection.java:85) ~[drill-java-exec-1.11.0.jar:1.11.0]
        at org.apache.drill.exec.work.foreman.Foreman$ForemanResult.close(Foreman.java:868) ~[drill-java-exec-1.11.0.jar:1.11.0]
        at org.apache.drill.exec.work.foreman.Foreman.moveToState(Foreman.java:977) ~[drill-java-exec-1.11.0.jar:1.11.0]
        at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:297) ~[drill-java-exec-1.11.0.jar:1.11.0]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_131]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_131]
        at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_131]
{code}

> Limit 0 raises NullPointerException on JDBC storage sources
> -----------------------------------------------------------
>
>                 Key: DRILL-4984
>                 URL: https://issues.apache.org/jira/browse/DRILL-4984
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Query Planning & Optimization
>    Affects Versions: 1.8.0, 1.9.0, 1.10.0, 1.11.0
>         Environment: Latest 1.9 release also 1.8 release version,
> mysql-connector-java-5.1.30, mysql-connector-java-5.1.40
>            Reporter: Holger Kiel
>
> NullPointerExceptions occur when a query with 'limit 0' is executed on a jdbc storage source (e.g. Mysql):
> {code}
> 0: jdbc:drill:zk=local> select * from mysql.sugarcrm.sales_person limit 0;
> Error: SYSTEM ERROR: NullPointerException
> [Error Id: 6cd676fc-6db9-40b3-81d5-c2db044aeb77 on localhost: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():1142
>     java.util.concurrent.ThreadPoolExecutor$Worker.run():617
>     java.lang.Thread.run():745
>   Caused By (java.lang.NullPointerException) null
>     org.apache.drill.exec.planner.sql.handlers.FindHardDistributionScans.visit():55
>     org.apache.calcite.rel.core.TableScan.accept():166
>     org.apache.calcite.rel.RelShuttleImpl.visitChild():53
>     org.apache.calcite.rel.RelShuttleImpl.visitChildren():68
>     org.apache.calcite.rel.RelShuttleImpl.visit():126
>     org.apache.calcite.rel.AbstractRelNode.accept():256
>     org.apache.calcite.rel.RelShuttleImpl.visitChild():53
>     org.apache.calcite.rel.RelShuttleImpl.visitChildren():68
>     org.apache.calcite.rel.RelShuttleImpl.visit():126
>     org.apache.calcite.rel.AbstractRelNode.accept():256
>     org.apache.drill.exec.planner.sql.handlers.FindHardDistributionScans.canForceSingleMode():45
>     org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.convertToDrel():262
>     org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.convertToDrel():290
>     org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan():168
>     org.apache.drill.exec.planner.sql.DrillSqlWorker.getPhysicalPlan():123
>     org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan():97
>     org.apache.drill.exec.work.foreman.Foreman.runSQL():1008
>     org.apache.drill.exec.work.foreman.Foreman.run():264
>     java.util.concurrent.ThreadPoolExecutor.runWorker():1142
>     java.util.concurrent.ThreadPoolExecutor$Worker.run():617
>     java.lang.Thread.run():745 (state=,code=0)
> 0: jdbc:drill:zk=local> select * from mysql.sugarcrm.sales_person limit 1;
> +-----+-------------+----------------+------------+-------------+
> | id  | first_name  |   last_name    | full_name  | manager_id  |
> +-----+-------------+----------------+------------+-------------+
> | 1   | null        | Administrator  | admin      | 0           |
> +-----+-------------+----------------+------------+-------------+
> 1 row selected (0,235 seconds)
> {code}
> Other datasources are okay:
> {code}
> 0: jdbc:drill:zk=local> SELECT * FROM cp.`employee.json` LIMIT 0;
> +------+-----------+-----------+---------+--------------+------------+-------------+------------+--------------+-----------------+-----------+----------------+-------------+------------+---------+----------------+------------------+-----------------+---------+------------------+
> | fqn  | filename  | filepath  | suffix  | employee_id  | full_name  | first_name  | last_name  | position_id  | position_title  | store_id  | department_id  | birth_date  | hire_date  | salary  | supervisor_id  | education_level  | marital_status  | gender  | management_role  |
> +------+-----------+-----------+---------+--------------+------------+-------------+------------+--------------+-----------------+-----------+----------------+-------------+------------+---------+----------------+------------------+-----------------+---------+------------------+
> +------+-----------+-----------+---------+--------------+------------+-------------+------------+--------------+-----------------+-----------+----------------+-------------+------------+---------+----------------+------------------+-----------------+---------+------------------+
> No rows selected (0,309 seconds)
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)