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