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

Duo Zhang commented on HBASE-20252:
-----------------------------------

I think we need two checks here? One at the beginning, and one at the last.

Before scheduling a MoveRegionProcedure, we should check if the target server 
exists, if not then just fail the request. And after we finish the movement, we 
need to check whether the given region is on the target server ,if not then we 
should tell the client that the request is failed.

Not sure where we will use MoveRegionProcedure, if it is just used for client 
side request which means it is OK to fail it, then I think we can add the 
checks inside the execution of the MoveRegionProcedure, and fail the procedure 
itself, the only thing is that we need to make sure that the we should make the 
region online even if the procedure fails(this is what we have for now I 
believe).

And one more thing is that, the logging is a bit confusing. We always output 
the original target server in the log, even if it is nonexistent and actually 
we are assigning the region to another regionserver.

> Admin.move will not fail if we move region to a nonexistent region server 
> --------------------------------------------------------------------------
>
>                 Key: HBASE-20252
>                 URL: https://issues.apache.org/jira/browse/HBASE-20252
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Duo Zhang
>            Assignee: stack
>            Priority: Major
>             Fix For: 2.0.0
>
>         Attachments: HBASE-20252-UT.patch
>
>
> The region will just be reopened on the source regionserver...
> This is a bit confusing I think...



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

Reply via email to