hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vinay (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-3507) DFS#isInSafeNode needs to execute only on Active NameNode
Date Wed, 06 Jun 2012 04:43:23 GMT

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

Vinay commented on HDFS-3507:
-----------------------------

Adding to above description...
Since standby will not do any write operations, DFS#isInSafeMode check on standby will not
add value.

StandBy can enter safemode in following cases
1. Waiting for the block report from datanodes
2. And If the machine resources are low. If HDFS-2914 committed, this standby will not enter
because of resources unavailability.

Currently DFS#isInSafeMode() will use ClientProtocol.setSafeMode(..) itself which is currently
UNCHECKED.
{code:java}  @Override // ClientProtocol
  public boolean setSafeMode(SafeModeAction action) throws IOException {
    namesystem.checkOperation(OperationCategory.UNCHECKED);
    return namesystem.setSafeMode(action);
  }{code} 


If ClientProtocol.setSafeMode restricted to only Active NN, then it will impact the DFSAdmin
-safemode command also.


I feel there can be two ways to solve this.

1. Add one more API *isInSafeMode* to ClientProtocol which is restricted to only ActiveNN.
2. Restrict *setSafeMode* API itself to ANN, and hence restricting DFSAdmin -safemode command
to only ANN.

I choose option 1, to leave the DFSAdmin -safemode behaviour as it is.

                
> DFS#isInSafeNode needs to execute only on Active NameNode
> ---------------------------------------------------------
>
>                 Key: HDFS-3507
>                 URL: https://issues.apache.org/jira/browse/HDFS-3507
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: ha
>    Affects Versions: 2.0.1-alpha, 3.0.0
>            Reporter: Vinay
>
> Currently DFS#isInSafeMode is not Checking for the NN state. It can be executed on any
of the NNs.
> But HBase will use this API to check for the NN safemode before starting up its service.
> If first NN configured is in standby then DFS#isInSafeMode will check standby NNs safemode
but hbase want state of Active NN.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message