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

Lars Hofhansl resolved HBASE-11110.
-----------------------------------

      Resolution: Fixed
    Hadoop Flags: Reviewed

Committed to 0.94. Thanks Gabriel.

> Ability to load FilterList class is dependent on context classloader
> --------------------------------------------------------------------
>
>                 Key: HBASE-11110
>                 URL: https://issues.apache.org/jira/browse/HBASE-11110
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.94.19
>            Reporter: Gabriel Reid
>            Assignee: Gabriel Reid
>             Fix For: 0.94.20
>
>         Attachments: HBASE-11110.patch
>
>
> In the 0.94 branch, the FilterList class contains a static call to 
> HBaseConfiguration.create(). This create call in turn adds the needed hbase 
> resources to the Configuration object, and sets the classloader of the 
> Configuration object to be the context classloader of the current thread (if 
> it isn't null).
> This approach causes issues if the FilterList class is loaded from a thread 
> that has a custom context classloader that doesn't run back up to the main 
> application classloader. In this case, 
> HBaseConfiguration.checkDefaultsVersion fails because the 
> hbase.defaults.for.version configuration value can't be found (because 
> hbase-default.xml can't be found by the custom context classloader).
> This is a concrete issue that was discovered via Apache Phoenix within a 
> commercial tool, when a (JDBC) connection is opened via a pool, and then 
> passed off to a UI thread that has a custom context classloader. The UI 
> thread is then the first thing to load FilterList, leading to this issue.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to