[ 
https://issues.apache.org/jira/browse/HBASE-13759?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14557866#comment-14557866
 ] 

Matteo Bertozzi commented on HBASE-13759:
-----------------------------------------

{quote}Do you want to ask the host if it is aborting or stopping in here 
handleInterruptedException?{quote}
that is more or less implicit. if master.abort()/stop() was called 
procedureExecutor.isRunning() will be false. we are basically pushing the 
procedure back in the queue and restart from while (isRunning()).
do you have a better way to check if the master is going down but it didn't 
call abort/stop yet?

{quote}The implementation of isYieldAfterExecutionStep is done by doing a 
isYieldBeforeExecuteFromState in StateMachineProcedure? Interesting...{quote}
the StateMachineProc has more alrady information on what is doing, so you can 
control which step should yield and which should not without having to keep 
extra state around

> Improve procedure yielding
> --------------------------
>
>                 Key: HBASE-13759
>                 URL: https://issues.apache.org/jira/browse/HBASE-13759
>             Project: HBase
>          Issue Type: Sub-task
>          Components: proc-v2
>    Affects Versions: 2.0.0, 1.2.0
>            Reporter: Matteo Bertozzi
>            Assignee: Matteo Bertozzi
>            Priority: Trivial
>             Fix For: 2.0.0, 1.2.0
>
>         Attachments: HBASE-13759-v0.patch
>
>
> Adds the ability to yield the procedure every execution step.
> by default, a procedure will try to go begin to end without stopping.
> This allows procedures to be nice to other procedures.
> one usage example is ServerShutdownHandler where we want everyone to make 
> some progress.
> Allows procedure to throw InterruptedException, the default handling will be:
> "ask the master if there is an abort of stop. If there is, stop executions 
> and exit. Else, clear the IE and carryon executing. the interruted procedure 
> will retry".
> If the procedure implementor wants a different behavior, the IE can be 
> catched and custom handling can be performed.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to