[ 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