hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Purtell (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-11110) Ability to load FilterList class is dependent on context classloader
Date Fri, 02 May 2014 16:56:15 GMT

    [ https://issues.apache.org/jira/browse/HBASE-11110?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13987903#comment-13987903
] 

Andrew Purtell commented on HBASE-11110:
----------------------------------------

lgtm for 0.94, ping [~lhofhansl]

This exact issue won't be a problem in 0.96+ since the relevant code has changed, but I wonder
if it's possible to try Phoenix 4 + HBase 0.98 with that tool? 

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

Mime
View raw message