[
https://issues.apache.org/jira/browse/HBASE-20990?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Duo Zhang resolved HBASE-20990.
-------------------------------
Resolution: Won't Fix
Not a problem any more I think. We use executeProcedures to schedule multiple
assign/unassign procedures now.
> One operation in procedure batch throws an exception will cause all
> RegionTransitionProcedures receive the same exception
> -------------------------------------------------------------------------------------------------------------------------
>
> Key: HBASE-20990
> URL: https://issues.apache.org/jira/browse/HBASE-20990
> Project: HBase
> Issue Type: Sub-task
> Components: amv2
> Affects Versions: 2.1.0, 2.0.1
> Reporter: Allan Yang
> Assignee: Allan Yang
> Priority: Major
>
> 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:
> {code}
> 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
> {code}
> 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.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)