[ https://issues.apache.org/jira/browse/HDFS-13475?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16535509#comment-16535509 ]
Íñigo Goiri commented on HDFS-13475: ------------------------------------ Thanks [~csun], I think [^HDFS-13475.001.patch] looks much cleaner as everything related to safe mode is in a single mode. One thing I ca think of, is that there's no need to call: {code} this.router.getSafemodeService().setSafeMode(true); this.router.getSafemodeService().setManualSafeMode(true); {code} As {{this.router.getSafemodeService().setManualSafeMode(true);}} should be enough. Actually, I'm not sure if we use setSafeMode() for anything as nobody is actually calling it. > RBF: Admin cannot enforce Router enter SafeMode > ----------------------------------------------- > > Key: HDFS-13475 > URL: https://issues.apache.org/jira/browse/HDFS-13475 > Project: Hadoop HDFS > Issue Type: Sub-task > Reporter: Wei Yan > Assignee: Chao Sun > Priority: Major > Attachments: HDFS-13475.000.patch, HDFS-13475.001.patch > > > To reproduce the issue: > {code:java} > $ bin/hdfs dfsrouteradmin -safemode enter > Successfully enter safe mode. > $ bin/hdfs dfsrouteradmin -safemode get > Safe Mode: true{code} > And then, > {code:java} > $ bin/hdfs dfsrouteradmin -safemode get > Safe Mode: false{code} > From the code, it looks like the periodicInvoke triggers the leave. > {code:java} > public void periodicInvoke() { > ...... > // Always update to indicate our cache was updated > if (isCacheStale) { > if (!rpcServer.isInSafeMode()) { > enter(); > } > } else if (rpcServer.isInSafeMode()) { > // Cache recently updated, leave safe mode > leave(); > } > } > {code} > > -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org