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

ASF GitHub Bot commented on HDFS-17536:
---------------------------------------

ZanderXu opened a new pull request, #6844:
URL: https://github.com/apache/hadoop/pull/6844

   Both `RouterAdminServer#enterSafeMode()` and 
`RouterSafemodeService#periodicInvoke()#leave` can change the router state at 
the same time. 
   
   Safe-mode change logic should be condensed into one method. And some races 
may happen in the current implementation, such as:
   
   1. `RouterAdminServer#enterSafeMode()` set router stat to 
`RouterServiceState.SAFEMODE`
   2. `RouterSafemodeService#periodicInvoke()#leave` got true when checking 
`safeMode && !isSafeModeSetManually`
   3. `RouterAdminServer#enterSafeMode()` set `safeMode` and 
`isSafeModeSetManually` to `true`
   4. `RouterAdminServer#enterSafeMode()` get `true` when checking safe-mode 
   5. `RouterSafemodeService#periodicInvoke()#leave` call `leave()` to leave 
safe-mode.
   
   This RBF is not in safe-mode and `safeMode` is `false`, but 
`isSafeModeSetManually` is `true`.




> RBF: Format safe-mode related logic and fix a race 
> ---------------------------------------------------
>
>                 Key: HDFS-17536
>                 URL: https://issues.apache.org/jira/browse/HDFS-17536
>             Project: Hadoop HDFS
>          Issue Type: Task
>            Reporter: ZanderXu
>            Assignee: ZanderXu
>            Priority: Major
>
> RBF: Format safe-mode related logic and fix a race.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org

Reply via email to