[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)
[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=13862288#comment-13862288 ] Hudson commented on HBASE-9941: --- SUCCESS: Integrated in HBase-TRUNK-on-Hadoop-1.1 #41 (See [https://builds.apache.org/job/HBase-TRUNK-on-Hadoop-1.1/41/]) HBASE-9941. The context ClassLoader isn't set while calling into a coprocessor (apurtell: rev 1555328) * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/CoprocessorEnvironment.java * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.java * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/WALCoprocessorHost.java * /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/security/token/TestTokenAuthentication.java > 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.1.5#6160)
[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=13862266#comment-13862266 ] Hudson commented on HBASE-9941: --- SUCCESS: Integrated in HBase-0.98-on-Hadoop-1.1 #53 (See [https://builds.apache.org/job/HBase-0.98-on-Hadoop-1.1/53/]) HBASE-9941. The context ClassLoader isn't set while calling into a coprocessor (apurtell: rev 1555329) * /hbase/branches/0.98/hbase-client/src/main/java/org/apache/hadoop/hbase/CoprocessorEnvironment.java * /hbase/branches/0.98/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java * /hbase/branches/0.98/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java * /hbase/branches/0.98/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java * /hbase/branches/0.98/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.java * /hbase/branches/0.98/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/WALCoprocessorHost.java * /hbase/branches/0.98/hbase-server/src/test/java/org/apache/hadoop/hbase/security/token/TestTokenAuthentication.java > 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.1.5#6160)
[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=13862258#comment-13862258 ] Hudson commented on HBASE-9941: --- SUCCESS: Integrated in HBase-0.98 #57 (See [https://builds.apache.org/job/HBase-0.98/57/]) HBASE-9941. The context ClassLoader isn't set while calling into a coprocessor (apurtell: rev 1555329) * /hbase/branches/0.98/hbase-client/src/main/java/org/apache/hadoop/hbase/CoprocessorEnvironment.java * /hbase/branches/0.98/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java * /hbase/branches/0.98/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java * /hbase/branches/0.98/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java * /hbase/branches/0.98/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.java * /hbase/branches/0.98/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/WALCoprocessorHost.java * /hbase/branches/0.98/hbase-server/src/test/java/org/apache/hadoop/hbase/security/token/TestTokenAuthentication.java > 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.1.5#6160)
[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=13862256#comment-13862256 ] Hudson commented on HBASE-9941: --- FAILURE: Integrated in HBase-TRUNK #4788 (See [https://builds.apache.org/job/HBase-TRUNK/4788/]) HBASE-9941. The context ClassLoader isn't set while calling into a coprocessor (apurtell: rev 1555328) * /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/CoprocessorEnvironment.java * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.java * /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/WALCoprocessorHost.java * /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/security/token/TestTokenAuthentication.java > 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.1.5#6160)
[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=13862232#comment-13862232 ] Andrew Purtell commented on HBASE-9941: --- Apparent 'release audit' warnings are these issues unrelated to this patch, which only modifies existing files with license headers: {noformat} [WARNING] The POM for org.eclipse.m2e:lifecycle-mapping:jar:1.0.0 is missing, no dependency information available [WARNING] Failed to retrieve plugin descriptor for org.eclipse.m2e:lifecycle-mapping:1.0.0: Plugin org.eclipse.m2e:lifecycle-mapping:1.0.0 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.eclipse.m2e:lifecycle-mapping:jar:1.0.0 [WARNING] The POM for org.eclipse.m2e:lifecycle-mapping:jar:1.0.0 is missing, no dependency information available [WARNING] Failed to retrieve plugin descriptor for org.eclipse.m2e:lifecycle-mapping:1.0.0: Plugin org.eclipse.m2e:lifecycle-mapping:1.0.0 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.eclipse.m2e:lifecycle-mapping:jar:1.0.0 {noformat} > 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 > > 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.1.5#6160)
[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=13862211#comment-13862211 ] Hadoop QA commented on HBASE-9941: -- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12621452/9941.patch against trunk revision . ATTACHMENT ID: 12621452 {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 3 new or modified tests. {color:green}+1 hadoop1.0{color}. The patch compiles against the hadoop 1.0 profile. {color:green}+1 hadoop1.1{color}. The patch compiles against the hadoop 1.1 profile. {color:green}+1 javadoc{color}. The javadoc tool did not generate any warning messages. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 findbugs{color}. The patch does not introduce any new Findbugs (version 1.3.9) warnings. {color:red}-1 release audit{color}. The applied patch generated 4 release audit warnings (more than the trunk's current 0 warnings). {color:green}+1 lineLengths{color}. The patch does not introduce lines longer than 100 {color:red}-1 site{color}. The patch appears to cause mvn site goal to fail. {color:green}+1 core tests{color}. The patch passed unit tests in . Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/8339//testReport/ Release audit warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8339//artifact/trunk/patchprocess/patchReleaseAuditProblems.txt Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8339//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8339//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8339//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8339//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8339//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8339//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8339//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8339//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8339//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/8339//console This message is automatically generated. > 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 > > 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.1.5#6160)
[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=13862183#comment-13862183 ] Andrew Purtell commented on HBASE-9941: --- I can see caliper at test scope in the classpath when I run 'mvn dependency:build-classpath' on the command line but it is not showing up in the generated file, which appears to be generated by running the exact same plugin and goal. Beats me. Maven "documentation" offers no clue. If I leave it at test scope the microbenchmark will compile but cannot be run from in tree or an untarred assembly. > 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 > > Attachments: 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.1.5#6160)
[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=13862170#comment-13862170 ] Hadoop QA commented on HBASE-9941: -- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12621442/9941.patch against trunk revision . ATTACHMENT ID: 12621442 {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 5 new or modified tests. {color:green}+1 hadoop1.0{color}. The patch compiles against the hadoop 1.0 profile. {color:green}+1 hadoop1.1{color}. The patch compiles against the hadoop 1.1 profile. {color:green}+1 javadoc{color}. The javadoc tool did not generate any warning messages. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 findbugs{color}. The patch does not introduce any new Findbugs (version 1.3.9) warnings. {color:red}-1 release audit{color}. The applied patch generated 4 release audit warnings (more than the trunk's current 0 warnings). {color:green}+1 lineLengths{color}. The patch does not introduce lines longer than 100 {color:red}-1 site{color}. The patch appears to cause mvn site goal to fail. {color:green}+1 core tests{color}. The patch passed unit tests in . Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/8337//testReport/ Release audit warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8337//artifact/trunk/patchprocess/patchReleaseAuditProblems.txt Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8337//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8337//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8337//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8337//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8337//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8337//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8337//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8337//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8337//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/8337//console This message is automatically generated. > 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 > > Attachments: 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.1.5#6160)
[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=13862169#comment-13862169 ] Andrew Purtell commented on HBASE-9941: --- Actually, I agree caliper shouldn't come in except when running tests. Let me figure out some Maven way to do what I want while having caliper at test scope. > 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 > > Attachments: 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.1.5#6160)
[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=13862162#comment-13862162 ] Andrew Purtell commented on HBASE-9941: --- bq. Only comment is can the caliper dependency be {{test}}? Don't want to ship it as a dependency if it's only for test code. If I make it a test only dependency then this happens: {noformat} ./bin/hbase org.apache.hadoop.hbase.CoprocessorInvocationEvaluation --trials 10 Exception in thread "main" java.lang.NoClassDefFoundError: com/google/caliper/SimpleBenchmark at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) at java.lang.ClassLoader.defineClass(ClassLoader.java:615) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) at java.net.URLClassLoader.access$000(URLClassLoader.java:58) at java.net.URLClassLoader$1.run(URLClassLoader.java:197) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) Caused by: java.lang.ClassNotFoundException: com.google.caliper.SimpleBenchmark at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:247 {noformat} I will commit this shortly to trunk and 0.98 if no objections. > 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 > > Attachments: 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.1.5#6160)
[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=13862152#comment-13862152 ] Gary Helmling commented on HBASE-9941: -- +1 on the latest patch. Only comment is can the caliper dependency be {{test}}? Don't want to ship it as a dependency if it's only for test code. Assuming that works, I'm fine to fix that bit on commit. > 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 > > Attachments: 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.1.5#6160)
[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=13861879#comment-13861879 ] Hadoop QA commented on HBASE-9941: -- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12621363/9941.patch against trunk revision . ATTACHMENT ID: 12621363 {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 5 new or modified tests. {color:green}+1 hadoop1.0{color}. The patch compiles against the hadoop 1.0 profile. {color:green}+1 hadoop1.1{color}. The patch compiles against the hadoop 1.1 profile. {color:red}-1 javadoc{color}. The javadoc tool appears to have generated 1 warning messages. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 findbugs{color}. The patch does not introduce any new Findbugs (version 1.3.9) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:green}+1 lineLengths{color}. The patch does not introduce lines longer than 100 {color:red}-1 site{color}. The patch appears to cause mvn site goal to fail. {color:green}+1 core tests{color}. The patch passed unit tests in . Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/8334//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8334//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8334//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8334//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8334//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8334//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8334//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8334//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8334//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8334//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/8334//console This message is automatically generated. > 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 > > Attachments: 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.1.5#6160)
[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=13861856#comment-13861856 ] Andrew Purtell commented on HBASE-9941: --- bq. Shouldn't we keep the catch (Throwable e) here, unless that is redundant for some reason? Good spotting, that appears to be a case where some text was accidentally highlighted under the cursor before a paste. Let me check each call site for those and get back with an updated patch. bq. I see that preWALWrite() and postWALWrite() implementations are not doing the handleCoprocessorThrowable() handling on unexpected Throwables. Can you think of a reason WALCoprocessorHost should not do the same as others here? No. I can try adding that in this patch, it's not too far out of scope, we are updating every upcall invocation. bq. In my 20m row filter-everything-at-the-server test, it'd add 1.4s (20m*70ns) or about 20% runtime if there is at least RegionObserver registered It also depends on the JVM. OpenJDK 7u45 on my test box has a difference of ~50ns. > 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 > > Attachments: 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.1.5#6160)
[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=13861851#comment-13861851 ] Lars Hofhansl commented on HBASE-9941: -- Some of these are on hot codepaths (like preScannerNext, and especially postScannerFilterRow, which is already a problem sometimes - see HBASE-10047). In my 20m row filter-everything-at-the-server test, it'd add 1.4s (20m*70ns) or about 20% runtime if there is at least RegionObserver registered. (need to test in a real env, though) At the same time, I do not see a better way to fix this. > 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 > > Attachments: 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.1.5#6160)
[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=13861848#comment-13861848 ] Gary Helmling commented on HBASE-9941: -- Looks good to me. A couple of questions on the patch: In RegionCoprocessorHost.java: {noformat} @@ -284,11 +284,14 @@ public class RegionCoprocessorHost for (RegionEnvironment env: coprocessors) { if (env.getInstance() instanceof RegionObserver) { ctx = ObserverContext.createAndPrepare(env, ctx); - try { +Thread currentThread = Thread.currentThread(); +ClassLoader cl = currentThread.getContextClassLoader(); +try { + currentThread.setContextClassLoader(env.getClassLoader()); ((RegionObserver) env.getInstance()).preOpen(ctx); - } catch (Throwable e) { - handleCoprocessorThrowable(env, e); - } +} finally { + currentThread.setContextClassLoader(cl); +} {noformat} Shouldn't we keep the {{catch (Throwable e)}} here, unless that is redundant for some reason? Technically outside the scope of this issue, but in WALCoprocessorHost.java, I see that preWALWrite() and postWALWrite() implementations are not doing the handleCoprocessorThrowable() handling on unexpected Throwables. Can you think of a reason WALCoprocessorHost should not do the same as others here? > 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 > > Attachments: 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.1.5#6160)
[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=13861800#comment-13861800 ] Andrew Purtell commented on HBASE-9941: --- Also, FYI, the latest version of Caliper is 1.0-test-1, but it's built against a more recent version of Guava than we have available. We need to use Caliper 0.5-rc1 or we will see linkage errors against Guava's Stopwatch class. > 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 > > Attachments: 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.1.5#6160)
[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=13861787#comment-13861787 ] Andrew Purtell commented on HBASE-9941: --- Ping [~stack], [~lhofhansl], [~ghelmling] > 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 > > Attachments: 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.1.5#6160)
[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=13861724#comment-13861724 ] Andrew Purtell commented on HBASE-9941: --- bq. How do I interpret these readings ? That adding the classloader switching adds ~90ns per upcall. bq. Log the exception above ? It's a microbenchmark, this isn't needed or desired. > 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 > > Attachments: 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.1.5#6160)
[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=13861706#comment-13861706 ] Ted Yu commented on HBASE-9941: --- {code} + * Find a coprocessor environment by class name + * @param className the class name + * @return the coprocessor, or null if not found {code} nit: @return the coprocessor -> @return the coprocessor environment {code} +public class CoprocessorInvocationEvaluation extends SimpleBenchmark { {code} Add annotation for audience. {code} +cpHost.prePut(put, edit, Durability.SYNC_WAL); + } catch (IOException e) { + } {code} Log the exception above ? > 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 > > Attachments: 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.1.5#6160)
[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=13861613#comment-13861613 ] Ted Yu commented on HBASE-9941: --- Numbers for duration in the first table were around 10ns. For the second table, average was about 98ns. How do I interpret these readings ? Thanks > 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 > > Attachments: 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.1.5#6160)
[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=13861413#comment-13861413 ] Hadoop QA commented on HBASE-9941: -- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12621295/9941.patch against trunk revision . ATTACHMENT ID: 12621295 {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 8 new or modified tests. {color:red}-1 patch{color}. The patch command could not apply the patch. Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/8331//console This message is automatically generated. > 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 > > Attachments: 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.1.5#6160)
[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=13861260#comment-13861260 ] Hadoop QA commented on HBASE-9941: -- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12621251/9941.patch against trunk revision . ATTACHMENT ID: 12621251 {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 4 new or modified tests. {color:green}+1 hadoop1.0{color}. The patch compiles against the hadoop 1.0 profile. {color:green}+1 hadoop1.1{color}. The patch compiles against the hadoop 1.1 profile. {color:red}-1 javadoc{color}. The javadoc tool appears to have generated 4 warning messages. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 findbugs{color}. The patch does not introduce any new Findbugs (version 1.3.9) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:red}-1 lineLengths{color}. The patch introduces the following lines longer than 100: + ((MasterObserver) env.getInstance()).preModifyColumnHandler(ctx, tableName, descriptor); + ((MasterObserver) env.getInstance()).postModifyColumnHandler(ctx, tableName, descriptor); + public InternalScanner preFlush(final Store store, final InternalScanner scanner) throws IOException { {color:red}-1 site{color}. The patch appears to cause mvn site goal to fail. {color:green}+1 core tests{color}. The patch passed unit tests in . Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/8326//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8326//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8326//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8326//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8326//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8326//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8326//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8326//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8326//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/8326//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/8326//console This message is automatically generated. > 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 > > Attachments: 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.1.5#6160)
[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=13843974#comment-13843974 ] Benoit Sigoure commented on HBASE-9941: --- In any place. For instance in {{prePut}} I could do {{new Foo()}} where the class {{Foo}} has never been used before, and thus only upon entering {{prePut}} would this class get loaded. > 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 > > > 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.1.4#6159)
[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=13819228#comment-13819228 ] Ted Yu commented on HBASE-9941: --- Can you clarify in which other place(s) your coprocessor code attempts to load classes ? Thanks > 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: Bug > Components: Coprocessors >Affects Versions: 0.96.0 >Reporter: Benoit Sigoure > > 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.1#6144)