Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
For example, Apache Phoenix has a default schema without a name. Any JDBC command will throw a stacktrace on attempting to setup SQLCompleter's treemap.
I added logger statements to demonstrate the problem below:
INFO [2017-03-09 23:38:57,894] (
{pool-2-thread-2} SqlCompleter.java[initFromConnection]:363) - Completer initialized with 0 schemas, 0 tables and 281 keywordsINFO [2017-03-09 23:38:57,896] ({pool-2-thread-2}
JDBCInterpreter.java[interpret]:694) - Run SQL command 'select * from system.catalog'
INFO [2017-03-09 23:38:57,896] (
INFO [2017-03-09 23:38:58,445] ({pool-2-thread-2}
SqlCompleter.java[getSqlKeywordsCompletions]:219) - JDBC DriverName:/phoenix-remote-jdbc-driver-sql.keywords
INFO [2017-03-09 23:38:58,526] (
INFO [2017-03-09 23:38:58,526] ({pool-2-thread-2}
SqlCompleter.java[getSchemaNames]:114) - FOUND SCHEMA: SYSTEM
INFO [2017-03-09 23:38:58,668] (
INFO [2017-03-09 23:38:58,668] ({pool-2-thread-2}
SqlCompleter.java[initSchemas]:281) - [null, SYSTEM]
ERROR [2017-03-09 23:38:58,669] (
JDBCInterpreter.java[executeSql]:642) - Cannot run select * from system.catalog
java.lang.NullPointerException
at java.util.TreeMap.compare(TreeMap.java:1290)
at java.util.TreeMap.put(TreeMap.java:538)
at java.util.TreeSet.add(TreeSet.java:255)
at java.util.AbstractCollection.addAll(AbstractCollection.java:344)
at java.util.TreeSet.addAll(TreeSet.java:312)
at java.util.TreeSet.<init>(TreeSet.java:160)
at org.apache.zeppelin.jdbc.SqlCompleter.initSchemas(SqlCompleter.java:283)
at org.apache.zeppelin.jdbc.SqlCompleter.init(SqlCompleter.java:322)
at org.apache.zeppelin.jdbc.SqlCompleter.initFromConnection(SqlCompleter.java:362)
at org.apache.zeppelin.jdbc.JDBCInterpreter.createSqlCompleter(JDBCInterpreter.java:209)
at org.apache.zeppelin.jdbc.JDBCInterpreter.getConnection(JDBCInterpreter.java:424)
at org.apache.zeppelin.jdbc.JDBCInterpreter.executeSql(JDBCInterpreter.java:576)
at org.apache.zeppelin.jdbc.JDBCInterpreter.interpret(JDBCInterpreter.java:704)
at org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:94)
at org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:495)
at org.apache.zeppelin.scheduler.Job.run(Job.java:181)
at org.apache.zeppelin.scheduler.ParallelScheduler$JobRunner.run(ParallelScheduler.java:162)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Attachments
Issue Links
- links to