Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-19040

CP service exec broken for older clients after PB namespace addition

VotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Duplicate
    • None
    • None
    • Coprocessors, Protobufs
    • None

    Description

      Was investigating an upgrade failure at dayjob. The "old" version did not include HBASE-14077 while the new version did include HBASE-14077.

      After the servers have been upgraded, the clients which try to execute CP calls will begin to fail with a message such as:

      $ hbase(main):001:0> user_permission
      User                                                 Namespace,Table,Family,Qualifier:Permission
      
      ERROR: org.apache.hadoop.hbase.exceptions.UnknownProtocolException: No registered coprocessor service found for name AccessControlService in region hbase:acl,,1508228211139.0ef76894681187f0ef958e78aed64d30.
      	at org.apache.hadoop.hbase.regionserver.HRegion.execService(HRegion.java:7829)
      	at org.apache.hadoop.hbase.regionserver.RSRpcServices.execServiceOnRegion(RSRpcServices.java:1980)
      	at org.apache.hadoop.hbase.regionserver.RSRpcServices.execService(RSRpcServices.java:1962)
      	at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:32389)
      	at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2150)
      	at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:112)
      	at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:187)
      	at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:167)
      

      The funny part is that the Region actually has a CP registered under the name hbase.pb.AccessControlService, but the client asks for one under AccessControlService.

      I think the easy fix is to deploy the CP under both names while HBase services support client backwards compatibility with 1.x clients.

      Attachments

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            elserj Josh Elser
            elserj Josh Elser
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment