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

Mingliang Liu commented on HDFS-10192:
--------------------------------------

I can verify that the test fails with trunk code. Thanks for the report.

However, I don't think {{startActiveServices()}} should check safe mode 
explicitly in the finally block. 1) The block manager safe mode is a state 
machine and once the NN leaves it, it should never enter again (unless 
requested by user). 2) The block manager safe mode should maintain the state 
machine automatically when loading edit logs. That's why we made the 
{{BlockManager.checkSafeMode()}} package local, instead of public. If there is 
any bug, we should fix it there.

So my gut feeling is that in {{BlockManagerSafeMode#checkSafeMode()}}, we 
wrongly bypass the internal state change if 
{{namesystem.inTransitionToActive()}} is true. Obviously this is related to 
[HDFS-7046]. I'll debug the code for a fix.

Thanks.

> Namenode safemode not coming out during failover
> ------------------------------------------------
>
>                 Key: HDFS-10192
>                 URL: https://issues.apache.org/jira/browse/HDFS-10192
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: namenode
>            Reporter: Brahma Reddy Battula
>            Assignee: Brahma Reddy Battula
>         Attachments: HDFS-10192-01.patch
>
>
> Scenario:
> =======
> write some blocks
> wait till roll edits happen
> Stop SNN
> Delete some blocks in ANN, wait till the blocks are deleted in DN also.
> restart the SNN and Wait till block reports come from datanode to SNN
> Kill ANN then make SNN to Active.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to