You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Vladimir Rodionov (JIRA)" <ji...@apache.org> on 2014/09/04 19:02:52 UTC

[jira] [Commented] (HBASE-9941) The context ClassLoader isn't set while calling into a coprocessor

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

Vladimir Rodionov commented on HBASE-9941:
------------------------------------------

The additional observed overhead is explained here:
https://bugs.openjdk.java.net/browse/JDK-6642881?page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel

Class.getClassLoader() is expensive op because of JNI nature. 
CoprocessorHost.Environment
{code}
    @Override
    public ClassLoader getClassLoader() {
      return impl.getClass().getClassLoader();
    }
{code}

does not do any attempts to cache class loader instance. I think it is safe to cache it. Correct me if I am wrong.

> The context ClassLoader isn't set while calling into a coprocessor
> ------------------------------------------------------------------
>
>                 Key: HBASE-9941
>                 URL: https://issues.apache.org/jira/browse/HBASE-9941
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Coprocessors
>    Affects Versions: 0.96.0
>            Reporter: Benoit Sigoure
>            Assignee: Andrew Purtell
>             Fix For: 0.98.0, 0.99.0
>
>         Attachments: 9941.patch, 9941.patch, 9941.patch, 9941.patch, 9941.patch
>
>
> Whenever one of the methods of a coprocessor is invoked, the context {{ClassLoader}} isn't set to be the {{CoprocessorClassLoader}}.  It's only set properly when calling the coprocessor's {{start}} method.  This means that if the coprocessor code attempts to load classes using the context {{ClassLoader}}, it will fail to find the classes it's looking for.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)