You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@drill.apache.org by Ronald Martin <rm...@info-alchemy.com> on 2017/01/04 12:24:10 UTC

DB2 Storage Plugin Calcite Error

I am encountering a problem when connecting Drill to a DB2 instance through the RDBMS plugin.

A similar, if not exact problem already occurred for someone else last year – as referenced by https://www.mail-archive.com/user@drill.apache.org/msg04867.html).

 

Unfortunately, I am unable to see any responses to the issue.

 

Trying now if maybe some of the Drill users have an idea to address this problem.

 

As a background, I am running Drill 1.9.0 with a remote server hosting a DB2 Express.

The jar files are in place within the Drill folders.

The same jar files actually work when used with Sqoop and Squirrel SQL.

It is only when used with Drill/RDBMS plugin that it fails.

 

Below is the storage configuration for DB2:

{

  "type": "jdbc",

  "driver": "com.ibm.db2.jcc.DB2Driver",

  "url": "jdbc:db2://DB2HOST:50000/SAMPLE",

  "username": "DB2INST1",

  "password": "password",

  "enabled": true

}

 

Similar to the original post, the configuration saved fine.

 

It is only when you run something in Drill that an error is displayed.

0: jdbc:drill:zk=local> show databases;

Error: SYSTEM ERROR: NullPointerException: null key in entry: null=org.apache.calcite.jdbc.SimpleCalciteSchema@388e4e29

 

 

[Error Id: 235408ee-28d8-4fbc-965b-cb6d2165ce20 on 192.168.0.20:31010] (state=,code=0)

 

With Drill logback log level set to all, sqlline.log shows the following:

                :

93: State change requested STARTING --> FAILED

org.apache.drill.exec.work.foreman.ForemanException: Unexpected exception during fragment initialization: null key in entry: null=org.apache.calcite.jdbc.SimpleCalciteSchema@388e4e29

                at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:281) [drill-java-exec-1.9.0.jar:1.9.0]

                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_51]

                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_51]

                at java.lang.Thread.run(Thread.java:745) [na:1.8.0_51]

Caused by: java.lang.NullPointerException: null key in entry: null=org.apache.calcite.jdbc.SimpleCalciteSchema@388e4e29

                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-r19.jar:1.4.0-drill-r19]

                at org.apache.calcite.jdbc.CalciteAbstractSchema$SchemaPlusImpl.getSubSchemaNames(CalciteAbstractSchema.java:200) ~[calcite-core-1.4.0-drill-r19.jar:1.4.0-drill-r19]

                at org.apache.drill.exec.store.StoragePluginRegistryImpl$DrillSchemaFactory.registerSchemas(StoragePluginRegistryImpl.java:399) ~[drill-java-exec-1.9.0.jar:1.9.0]

                at org.apache.drill.exec.store.SchemaTreeProvider.createRootSchema(SchemaTreeProvider.java:72) ~[drill-java-exec-1.9.0.jar:1.9.0]

                at org.apache.drill.exec.store.SchemaTreeProvider.createRootSchema(SchemaTreeProvider.java:61) ~[drill-java-exec-1.9.0.jar:1.9.0]

                at org.apache.drill.exec.ops.QueryContext.getRootSchema(QueryContext.java:155) ~[drill-java-exec-1.9.0.jar:1.9.0]

                at org.apache.drill.exec.ops.QueryContext.getRootSchema(QueryContext.java:145) ~[drill-java-exec-1.9.0.jar:1.9.0]

                at org.apache.drill.exec.ops.QueryContext.getNewDefaultSchema(QueryContext.java:131) ~[drill-java-exec-1.9.0.jar:1.9.0]

                at org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWorker.java:62) ~[drill-java-exec-1.9.0.jar:1.9.0]

                at org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:1008) [drill-java-exec-1.9.0.jar:1.9.0]

                at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:264) [drill-java-exec-1.9.0.jar:1.9.0]

                ... 3 common frames omitted

2017-01-04 20:18:54,552 [279317d0-d3a6-668f-cd3a-724df455f493:foreman] DEBUG o.a.drill.exec.work.foreman.Foreman - 279317d0-d3a6-668f-cd3a-724df455f493: cleaning up.

2017-01-04 20:18:54,553 [279317d0-d3a6-668f-cd3a-724df455f493:foreman] DEBUG o.a.d.exec.rpc.control.WorkEventBus - Removing fragment status listener for queryId 279317d0-d3a6-668f-cd3a-724df455f493.

2017-01-04 20:18:54,556 [279317d0-d3a6-668f-cd3a-724df455f493:foreman] ERROR o.a.drill.exec.work.foreman.Foreman - SYSTEM ERROR: NullPointerException: null key in entry: null=org.apache.calcite.jdbc.SimpleCalciteSchema@388e4e29

 

 

[Error Id: 235408ee-28d8-4fbc-965b-cb6d2165ce20 on 192.168.0.20:31010]

org.apache.drill.common.exceptions.UserException: SYSTEM ERROR: NullPointerException: null key in entry: null=org.apache.calcite.jdbc.SimpleCalciteSchema@388e4e29

 

 

I was hoping someone has already resolved this in the past.

 

Many thanks!