Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.2.0
-
None
-
None
Description
git.commit.id.abbrev=3c89b30
I used the latest drill-jdbc-all-1.2.0-SNAPSHOT.jar against the SQuirreL SQL application. I got the following error when trying to connect to the drill data source:
ERROR net.sourceforge.squirrel_sql.client.gui.db.ConnectToAliasCallBack - Unexpected Error occurred attempting to open an SQL connection. java.util.concurrent.ExecutionException: java.lang.RuntimeException: oadd.com.typesafe.config.ConfigException$Missing: No configuration setting found for key 'drill.exec' Full error message is in the attached file.
We turned on logging and found that the jdbc-all Jar file's drill-module.conf file was not being found (explaining why the configuration key drill.exec wasn't found).
After further investigation, it seems that PathScanner directly uses the system class loader, bypassing the context class loader.
(After drill-jdbc-all-1.2.0-SNAPSHOT.jar was changed from being listed in SQuirreL's "additional class paths" (presumably being loaded by a special class loader) to being copied into SQuirreL's Jar file directory (and therefore loaded by the system class loader), SQuirreL worked. (Apparently, PathScanner was then able to find drill-module.conf in the JDBC-all Jar file and load it, so the later reference to drill.exec no longer failed.)
Also, SQuirreL works correctly with drill-1.1's JDBC-all Jar file, and there were some recent changes to PathScanner related to class loaders.)