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

Huaxiang Sun commented on HBASE-26864:
--------------------------------------

[~zhangduo], Can you elaborate more about the double assign issue? I will 
provide more details about the root cause later today. So far as I read from 
the log,  it is not caused by the cases you described. The sequence I found is 
that region is opened at RS A, A acks back to master that the region is opened. 
During postOpenDeployTasks, RS A finds that it needs to split the region, so it 
sends a split request to master. Master starts the RegionSplitProcedure and 
later it finds that a replica parent is still being opened. It rolls back the 
RegionSplitProduce and in the process, it sends OpenRegion request to RS A.

 

Even if it does not ack in this case, it still needs to clean up some state, 
proc id is in submittedRegionProcedures, it needs to be cleaned.

> Region Server does not send Ack back to master after receiving an 
> OpenRegionReq for already opened regions, causing OpenRegionProcedure stay 
> forever.
> -----------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-26864
>                 URL: https://issues.apache.org/jira/browse/HBASE-26864
>             Project: HBase
>          Issue Type: Bug
>          Components: Region Assignment
>    Affects Versions: 2.4.10
>            Reporter: Huaxiang Sun
>            Assignee: Huaxiang Sun
>            Priority: Major
>
> For some upgrading cases, we found that master issues RegionOpen for an 
> already open region and Region Sever simply logs 
> {code:java}
> 2022-03-17 22:16:55,595 WARN 
> org.apache.hadoop.hbase.regionserver.handler.AssignRegionHandler: Received 
> OPEN for 
> foo,b2875fcb-7bc0-4fa9-a980-e902faf7f151,1631771037620.def199cc7208615b783b285f582ddfa4.
>  which is already online {code}
> and it does not ack or nack master. This OpenRegionProceduce is stuck forever.
> In this specific case, it needs to ack master that region is open. 
>  
> For the cause of why it sent an OpenRegion request for an already open 
> region, it will be followed by another issue.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to