You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@drill.apache.org by Rohan Nugur <Ro...@softrams.com> on 2016/05/27 02:35:29 UTC

DB2 Storage Plugin Calcite Error

Hello fellow drill users,

I am using Drill 1.6 and DB2 on Linux Centos
I have tested that the drivers in the drill/jars/3rdparty are sufficient to connect to DB2 with a given password and username.

I am also  able to create a DB2 Storage Driver (seems drill validated the connection strings and user name and does a connection test while adding need to research this more)
{
  "type": "jdbc",
  "driver": "com.ibm.db2.jcc.DB2Driver",
  "url": "jdbc:db2://localhost:50000/SAMPLE",
  "username": "db2inst1",
  "password": "passwd",
  "enabled": false
}
But I get the following error
I tried to dig into the code it seems to happen even before calcite/drill hits the DB2 Data base. It happens when drill in recursing the"Schemas

2016-05-26 18:34:05,002 [28b8be63-62d0-0b7e-121e-a70535213c41:foreman] INFO  o.a.drill.exec.work.foreman.Foreman - Query text for query id 28b8be63-62d0-0b7e-121e-a70535213c41: use db2x
2016-05-26 18:34:05,031 [28b8be63-62d0-0b7e-121e-a70535213c41:foreman] ERROR o.a.drill.exec.work.foreman.Foreman - SYSTEM ERROR: NullPointerException: null key in entry: null=org.apache.calcite.jdbc.SimpleCalciteSchema@58fd7dd0


[Error Id: 3f20567b-5a85-45ac-81de-34799e1514fe on sandbox.hortonworks.com:31010]
org.apache.drill.common.exceptions.UserException: SYSTEM ERROR: NullPointerException: null key in entry: null=org.apache.calcite.jdbc.SimpleCalciteSchema@58fd7dd0


[Error Id: 3f20567b-5a85-45ac-81de-34799e1514fe on sandbox.hortonworks.com:31010]
        at org.apache.drill.common.exceptions.UserException$Builder.build(UserException.java:543) ~[drill-common-1.6.0.jar:1.6.0]
        at org.apache.drill.exec.work.foreman.Foreman$ForemanResult.close(Foreman.java:744) [drill-java-exec-1.6.0.jar:1.6.0]
        at org.apache.drill.exec.work.foreman.Foreman$StateSwitch.processEvent(Foreman.java:862) [drill-java-exec-1.6.0.jar:1.6.0]
        at org.apache.drill.exec.work.foreman.Foreman$StateSwitch.processEvent(Foreman.java:794) [drill-java-exec-1.6.0.jar:1.6.0]
        at org.apache.drill.common.EventProcessor.sendEvent(EventProcessor.java:73) [drill-common-1.6.0.jar:1.6.0]
        at org.apache.drill.exec.work.foreman.Foreman$StateSwitch.moveToState(Foreman.java:796) [drill-java-exec-1.6.0.jar:1.6.0]
        at org.apache.drill.exec.work.foreman.Foreman.moveToState(Foreman.java:913) [drill-java-exec-1.6.0.jar:1.6.0]
        at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:262) [drill-java-exec-1.6.0.jar:1.6.0]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_95]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_95]
        at java.lang.Thread.run(Thread.java:745) [na:1.7.0_95]
Caused by: org.apache.drill.exec.work.foreman.ForemanException: Unexpected exception during fragment initialization: null key in entry: null=org.apache.calcite.jdbc.SimpleCalciteSchema@58fd7dd0
        ... 4 common frames omitted
Caused by: java.lang.NullPointerException: null key in entry: null=org.apache.calcite.jdbc.SimpleCalciteSchema@58fd7dd0
        at com.google.common.collect.CollectPreconditions.checkEntryNotNull(CollectPreconditions.java:31) ~[guava-18.0.jar:na]
        at com.google.common.collect.ImmutableMap.entryOf(ImmutableMap.java:135) ~[guava-18.0.jar:na]
        at com.google.common.collect.ImmutableSortedMap.fromEntries(ImmutableSortedMap.java:282) ~[guava-18.0.jar:na]
        at com.google.common.collect.ImmutableSortedMap.copyOfInternal(ImmutableSortedMap.java:275) ~[guava-18.0.jar:na]
        at com.google.common.collect.ImmutableSortedMap.copyOf(ImmutableSortedMap.java:206) ~[guava-18.0.jar:na]
        at org.apache.calcite.jdbc.SimpleCalciteSchema.getSubSchemaMap(SimpleCalciteSchema.java:121) ~[calcite-core-1.4.0-drill-r10.jar:1.4.0-drill-r10]
        at org.apache.calcite.jdbc.CalciteAbstractSchema$SchemaPlusImpl.getSubSchemaNames(CalciteAbstractSchema.java:200) ~[calcite-core-1.4.0-drill-r10.jar:1.4.0-drill-r10]
        at org.apache.drill.exec.store.StoragePluginRegistryImpl$DrillSchemaFactory.registerSchemas(StoragePluginRegistryImpl.java:399) ~[drill-java-exec-1.6.0.jar:1.6.0]
        at org.apache.drill.exec.ops.QueryContext.getRootSchema(QueryContext.java:162) ~[drill-java-exec-1.6.0.jar:1.6.0]
       at org.apache.drill.exec.ops.QueryContext.getRootSchema(QueryContext.java:151) ~[drill-java-exec-1.6.0.jar:1.6.0]
        at org.apache.drill.exec.ops.QueryContext.getRootSchema(QueryContext.java:139) ~[drill-java-exec-1.6.0.jar:1.6.0]
        at org.apache.drill.exec.ops.QueryContext.getNewDefaultSchema(QueryContext.java:125) ~[drill-java-exec-1.6.0.jar:1.6.0]
        at org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWorker.java:59) ~[drill-java-exec-1.6.0.jar:1.6.0]
        at org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:927) [drill-java-exec-1.6.0.jar:1.6.0]
        ... 3 common frames omitted

Any help is appreciated


I notice another user posting same questions a few months ago. Devender Yadav if you figured it out let me know
 http://mail-archives.apache.org/mod_mbox/drill-user/201601.mbox/%3CCANiHXGE6+5jTiH8dFKFEc4L=zK6rM5-QB6QwaO8c7-jAS-jYcA@mail.gmail.com%3E

Regards
rohan