[
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