phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gabriel Reid (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (PHOENIX-962) Basic querying fails if the current thread's context classloader is changed
Date Thu, 01 May 2014 08:26:14 GMT

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

Gabriel Reid updated PHOENIX-962:
---------------------------------

    Attachment: PHOENIX-962b.patch

Updated patch that disables the HBase info ports and removes unecessary print calls.

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

Mime
View raw message