[ 
https://issues.apache.org/jira/browse/DRILL-3822?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Barclay (Drill) updated DRILL-3822:
------------------------------------------
    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:

{noformat}
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. 
{noformat}

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.)


  was:
git.commit.id.abbrev=3c89b30

I used the latest drill-jdbc-all-1.2.0-SNAPSHOT.jar against 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 files drill-module.conf 
file was not being read.  After further investigation, it seems that the 
PathScanner only looks for files under the main class path and not the 
secondary class path.  After putting the drill-jdbc-all-1.2.0-SNAPSHOT.jar 
under squirrel's main class path, squirrel was able to load the configuration 
modules. 
This works correctly in drill-1.1.


> PathScanner fails to find jdbc-all's drill-module.conf in SQuirreL
> ------------------------------------------------------------------
>
>                 Key: DRILL-3822
>                 URL: https://issues.apache.org/jira/browse/DRILL-3822
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Client - JDBC
>    Affects Versions: 1.2.0
>            Reporter: Krystal
>            Assignee: Daniel Barclay (Drill)
>         Attachments: squirrel.log
>
>
> 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:
> {noformat}
> 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. 
> {noformat}
> 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.)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to