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/[email protected]/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!

 

Reply via email to