[
https://issues.apache.org/jira/browse/HBASE-20847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16537857#comment-16537857
]
Duo Zhang commented on HBASE-20847:
-----------------------------------
{quote}
What of the case where the parent procedure takes an exclusive lock for the
life of the Procedure?
{quote}
For table lock this should not happen, as region assign can happen at any time
if there is a server crash as it needs to hold the shared lock, so if we hold
the exclusive lock for the whole life of a table procedure then it will hurt
the availability...
But for other procedures, such as peer related procedures, we will hold the
lock for the whole life time. Of course until now we only acquire exclusive
lock for peer procedures, but the procedure framework is general, we should at
least make it work for most common cases. In java, you are free the hold the
readLock any times if you already hold the writeLock, so I think we use the
same rule here is fine?
> The parent procedure of RegionTransitionProcedure may not have the table lock
> -----------------------------------------------------------------------------
>
> Key: HBASE-20847
> URL: https://issues.apache.org/jira/browse/HBASE-20847
> Project: HBase
> Issue Type: Sub-task
> Components: proc-v2, Region Assignment
> Reporter: Duo Zhang
> Assignee: Duo Zhang
> Priority: Major
> Attachments: HBASE-20847-v1.patch, HBASE-20847.patch
>
>
> For example, SCP can also schedule AssignProcedure and obviously it will not
> hold the table lock.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)