HDFS-7046. HA NN can NPE upon transition to active. Contributed by

Kihwal Lee.
(cherry picked from commit 9e35571965)
This commit is contained in:
Kihwal Lee 2014-09-19 17:08:30 -05:00
parent ee508c1b32
commit b55aa50ec6
2 changed files with 7 additions and 1 deletions

View File

@ -445,6 +445,8 @@ Release 2.6.0 - UNRELEASED
HDFS-7096. Fix TestRpcProgramNfs3 to use DFS_ENCRYPTION_KEY_PROVIDER_URI HDFS-7096. Fix TestRpcProgramNfs3 to use DFS_ENCRYPTION_KEY_PROVIDER_URI
(clamb via cmccabe) (clamb via cmccabe)
HDFS-7046. HA NN can NPE upon transition to active. (kihwal)
BREAKDOWN OF HDFS-6134 AND HADOOP-10150 SUBTASKS AND RELATED JIRAS BREAKDOWN OF HDFS-6134 AND HADOOP-10150 SUBTASKS AND RELATED JIRAS
HDFS-6387. HDFS CLI admin tool for creating & deleting an HDFS-6387. HDFS CLI admin tool for creating & deleting an

View File

@ -1155,8 +1155,9 @@ public class FSNamesystem implements Namesystem, FSClusterStats,
cacheManager.startMonitorThread(); cacheManager.startMonitorThread();
blockManager.getDatanodeManager().setShouldSendCachingCommands(true); blockManager.getDatanodeManager().setShouldSendCachingCommands(true);
} finally { } finally {
writeUnlock();
startingActiveService = false; startingActiveService = false;
checkSafeMode();
writeUnlock();
} }
} }
@ -5530,6 +5531,9 @@ public class FSNamesystem implements Namesystem, FSClusterStats,
// Have to have write-lock since leaving safemode initializes // Have to have write-lock since leaving safemode initializes
// repl queues, which requires write lock // repl queues, which requires write lock
assert hasWriteLock(); assert hasWriteLock();
if (inTransitionToActive()) {
return;
}
// if smmthread is already running, the block threshold must have been // if smmthread is already running, the block threshold must have been
// reached before, there is no need to enter the safe mode again // reached before, there is no need to enter the safe mode again
if (smmthread == null && needEnter()) { if (smmthread == null && needEnter()) {