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

Umesh Agashe commented on HBASE-17888:
--------------------------------------

A few notes about current ProcV2 code:

* There is no single entry point for procedures in executor. Top level (root) 
procedures gets pushed via pushProcedure() and sub-procedures are pushed with 
submitChildrenProcedures().
* On restart procedures are loaded through entirely different code path
* Only reliable way to decide if the procedure is failed and will not be 
scheduled for execution is in executeRollback(Procedure proc) method. As when 
one of the sub-procedure fails it rolls back the entire stack including 
siblings and parent procedure
* All siblings are rolled back irrespective of their completion status, this 
will cause updateMetricsOnFinish() to be called twice for certain procedures.

> Add generic methods for updating metrics on start and end of a procedure 
> execution
> ----------------------------------------------------------------------------------
>
>                 Key: HBASE-17888
>                 URL: https://issues.apache.org/jira/browse/HBASE-17888
>             Project: HBase
>          Issue Type: Improvement
>          Components: proc-v2
>            Reporter: Umesh Agashe
>            Assignee: Umesh Agashe
>         Attachments: HBASE-17888.v1.patch
>
>
> For all procedures in Procv2 framework, Procedure class can have generic 
> methods to update metrics on start and end of a procedure execution. Specific 
> procedure can override these and implement/ update respective metrics. 
> Default implementation needs to be provided so override and implementation is 
> optional.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to