Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-20828 Finish-up AMv2 Design/List of Tenets/Specification of operation
  3. HBASE-20990

One operation in procedure batch throws an exception will cause all RegionTransitionProcedures receive the same exception

    XMLWordPrintableJSON

    Details

    • Type: Sub-task
    • Status: Resolved
    • Priority: Major
    • Resolution: Not A Problem
    • Affects Version/s: 2.1.0, 2.0.1
    • Fix Version/s: None
    • Component/s: amv2
    • Labels:
      None

      Description

      In AMv2, we batch open/close region operations and call RS with executeProcedures API. But, in this API, if one of the region's operations throws an exception, all the operations in the batch will receive the same exception. Actually, some of the operations in the batch is executing normally in the RS.
      I think we should try catch exceptions respectively, and call remoteCallFailed or remoteCallCompleted in RegionTransitionProcedure respectively.
      Otherwise, there will be some very strange behave. Such as this one:

      2018-07-18 02:56:18,506 WARN  [RSProcedureDispatcher-pool3-t1] assignment.RegionTransitionProcedure(226): Remote call failed e010125048016.bja,60020,1531848989401; pid=8362, ppid=8272, state=RUNNABLE:R
      EGION_TRANSITION_DISPATCH; AssignProcedure table=IntegrationTestBigLinkedList, region=0beb8ea4e2f239fc082be7cefede1427, target=e010125048016.bja,60020,1531848989401; rit=OPENING, location=e010125048016
      .bja,60020,1531848989401; exception=NotServingRegionException
      

      The AssignProcedure failed with a NotServingRegionException, what??? It is very strange, actually, the AssignProcedure successes on the RS, another CloseRegion operation failed in the operation batch was causing the exception.
      To correct this, we need to modify the response of executeProcedures API, which is the ExecuteProceduresResponse proto, to return infos(status, exceptions) per operation.
      This issue alone won't cause much trouble, so not so hurry to change the behave here, but indeed we need to consider this one when we want do some reconstruct to AMv2.

        Attachments

          Activity

            People

            • Assignee:
              allan163 Allan Yang
              Reporter:
              allan163 Allan Yang
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: