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

Duo Zhang commented on HBASE-21233:
-----------------------------------

Introduce a 'persist' flag in Procedure to indicate whether we need to persist 
the procedure after exection. Default to true. The implementation can set it to 
false to avoid persisting. And before execution, we will reset it to true every 
time.

Notice that, this can reduce the number procedure wals but can not fix all the 
problem for retrying. For TRSP it is OK, as the holdLock is true, but for other 
procedures where holdLock is false, after the execution we have to release the 
lock and persist the 'release lock' action, so skipPersistence here can reduce 
one procedure wal record, but the 'release lock' one is still needed.

This is just a framework for skip persistence. Will open other issues to fix 
the retrying for specific procedures.

> Allow the procedure implementation to skip persistence of the state after a 
> execution
> -------------------------------------------------------------------------------------
>
>                 Key: HBASE-21233
>                 URL: https://issues.apache.org/jira/browse/HBASE-21233
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Performance, proc-v2
>            Reporter: Duo Zhang
>            Assignee: Duo Zhang
>            Priority: Major
>             Fix For: 3.0.0, 2.2.0, 2.1.1
>
>         Attachments: HBASE-21233.patch
>
>
> Discussed with [~stack] and [~allan163] on HBASE-21035, that when retrying we 
> do not need to persist the procedure state every time, as the retry timeout 
> is not a critical stuff. It is OK that we loss this information and start 
> from 0 when after restarting.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to