[
https://issues.apache.org/jira/browse/HBASE-16864?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15587329#comment-15587329
]
Appy commented on HBASE-16864:
------------------------------
- Can we remove
{{MasterProcedureTestingUtility.testRecoveryAndDoubleExecution(procExec,
procId)}} in favor of
{{ProcedureTestingUtillity.testRecoveryAndDoubleExecution(procExec, procId)}}
since they are same.
- Since {{i}} is not used in stopping condition {{for (int i = 0;
!procExec.isFinished(procId); ++i)}}, while loop might be more appropriate
{{int counter = 0; while(!procExec.isFinished(procId)) \{ ....counter++;
....\}}}
- {{if (!(this instanceof Exception)) return false;}} this-->other
At first i thought i thought was wasn't execCount 4 for double execution, then
looking into code I realized the toggle thing and how it fails after every
step. That's a pretty nifty testing hook.
Overall looks fine.
> Procedure v2 - Fix StateMachineProcedure support for child procs at last step
> -----------------------------------------------------------------------------
>
> Key: HBASE-16864
> URL: https://issues.apache.org/jira/browse/HBASE-16864
> Project: HBase
> Issue Type: Sub-task
> Components: proc-v2
> Affects Versions: 2.0.0
> Reporter: Matteo Bertozzi
> Assignee: Matteo Bertozzi
> Fix For: 2.0.0
>
> Attachments: HBASE-16864-v0.patch
>
>
> There is a bug in the StateMachineProcedure when we add child procs in the
> last step. On recovery we end up spinning on the last step without ever
> completing. the fix is to introduce an eof step so recovery knows that we are
> already done once the all the children are terminated.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)