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

stack commented on HBASE-20708:
-------------------------------

Can we do up an outline doc [~Apache9]? I'm having a bit of trouble following 
along.

The RMP was added so there was one place for doing hbase:meta checking and 
assign. Previous this stuff was spread about the place. RMP collected it all up 
into one location. It is run on clean startup and deploying to new location on 
server crash.

SCP was turned off during startup because with it running concurrent to 
startup, it was too hard to reason around all the moving parts. 

bq. .... then we could let it go until it reaches the SERVER_CRASH_GET_REGIONS 
state.

Remove the guard and just let SCPs block on SERVER_CRASH_GET_REGIONS instead? 
That could work.

bq. There is no way to make sure that the meta region is online, as a server 
crash can happen at any time. So we should not make assumption that the meta 
region is online when designing or writing code.

If a crash of the hbase:meta server during statup, we recover, no?

bq. I think we could make the logic a little simpler here. 

Sure. The SCP that was carrying hbase:meta is marked specially. Would be an 
improvement if the queuing scheduled it first. Would be an improvement if could 
remove checks for meta deployed that are in various places in code.

bq. And when reading the code, I found something strange, when updating meta 
location, we always mark it as OPEN.

IIRC, thinking was probably that hbase:meta would never be CLOSED.

> Remove the usage of RecoverMetaProcedure in master startup
> ----------------------------------------------------------
>
>                 Key: HBASE-20708
>                 URL: https://issues.apache.org/jira/browse/HBASE-20708
>             Project: HBase
>          Issue Type: Bug
>          Components: proc-v2, Region Assignment
>            Reporter: Duo Zhang
>            Priority: Blocker
>             Fix For: 3.0.0, 2.1.0
>
>
> In HBASE-20700, we make RecoverMetaProcedure use a special lock which is only 
> used by RMP to avoid dead lock with MoveRegionProcedure. But we will always 
> schedule a RMP when master starting up, so we still need to make sure that 
> there is no race between this RMP and other RMPs and SCPs scheduled before 
> the master restarts.



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

Reply via email to