[
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)