[
https://issues.apache.org/jira/browse/HBASE-14157?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14645124#comment-14645124
]
Hudson commented on HBASE-14157:
--------------------------------
FAILURE: Integrated in HBase-TRUNK #6683 (See
[https://builds.apache.org/job/HBase-TRUNK/6683/])
HBASE-14157 Interfaces implemented by subclasses should be checked when
registering CoprocessorService (tedyu: rev
34f9a84445aba7808fa29b9357da3dc0c5042679)
*
hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController2.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.java
> Interfaces implemented by subclasses should be checked when registering
> CoprocessorService
> ------------------------------------------------------------------------------------------
>
> Key: HBASE-14157
> URL: https://issues.apache.org/jira/browse/HBASE-14157
> Project: HBase
> Issue Type: Bug
> Reporter: Alok Lal
> Assignee: Ted Yu
> Fix For: 2.0.0, 1.2.0, 1.1.2, 1.3.0
>
> Attachments: 14157-v1.txt, 14157-v2.txt, 14157-v2.txt, 14157-v3.txt,
> 14157-v4.txt
>
>
> Alok reported seeing the following exception when subclass of class which
> implements CoprocessorService is used for hbase.coprocessor.region.classes :
> {code}
> hbase(main):015:0> grant 'mktg1', 'RWC', 'iemployee'
> ERROR: org.apache.hadoop.hbase.exceptions.UnknownProtocolException: No
> registered coprocessor service found for name AccessControlService in region
> hbase:acl,,1437137157604.2daf735ea38da95e9ba249db6b63b79c.
> at
> org.apache.hadoop.hbase.regionserver.HRegion.execService(HRegion.java:7367)
> at
> org.apache.hadoop.hbase.regionserver.RSRpcServices.execServiceOnRegion(RSRpcServices.java:1873)
> at
> org.apache.hadoop.hbase.regionserver.RSRpcServices.execService(RSRpcServices.java:1855)
> at
> org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:32209)
> at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2112)
> at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:101)
> at
> org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:130)
> at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:107)
> {code}
> The root cause is in the following code of RegionCoprocessorHost:
> {code}
> for (Class<?> c : implClass.getInterfaces()) {
> if (CoprocessorService.class.isAssignableFrom(c)) {
> region.registerService( ((CoprocessorService)instance).getService() );
> }
> }
> {code}
> We currently only check the interfaces directly implemented by the underlying
> class.
> What should be done is to check all the interfaces implemented by class
> itself and its superclasses.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)