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

James Taylor commented on PHOENIX-962:
--------------------------------------

+1, but wow this is ugly :-(  If there's not an HBase JIRA for this, please 
file one.

> Basic querying fails if the current thread's context classloader is changed
> ---------------------------------------------------------------------------
>
>                 Key: PHOENIX-962
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-962
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 3.0.0
>            Reporter: Gabriel Reid
>            Assignee: Gabriel Reid
>         Attachments: PHOENIX-962.patch, PHOENIX-962b.patch
>
>
> When using Phoenix 3.0.0 with HBase 0.94.x, any kind of basic querying fails 
> if the connection is used by a thread that has a custom context classloader 
> that doesn't link back up to the root classloader.
> This sounds like a somewhat contrived situation, but it is the case in 
> clients where, for example, a Connection is instantiated within a background 
> thread within a thread pool, and then passed in to a UI framework that uses a 
> custom context classloader.
> The underlying cause is that there is a static call to 
> HBaseConfiguration.create() within the HBase FilterList class, which is 
> instantiated for many query calls. The HBaseConfiguration.create() call adds 
> hbase-default (and other) resources to the underlying Configuration object, 
> but these underlying resources can no longer be loaded because they are 
> dependent on the context classloader for loading. Ensuring that the 
> FilterList class is loaded with a context classloader that is used for 
> loading other Phoenix classes will resolve this issue.



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

Reply via email to