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

Kihwal Lee.
This commit is contained in:
Kihwal Lee 2014-09-19 17:07:06 -05:00
parent adf0b67a71
commit 9e35571965
2 changed files with 7 additions and 1 deletions

View File

@ -782,6 +782,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

@ -1156,8 +1156,9 @@ void startActiveServices() throws IOException {
cacheManager.startMonitorThread(); cacheManager.startMonitorThread();
blockManager.getDatanodeManager().setShouldSendCachingCommands(true); blockManager.getDatanodeManager().setShouldSendCachingCommands(true);
} finally { } finally {
writeUnlock();
startingActiveService = false; startingActiveService = false;
checkSafeMode();
writeUnlock();
} }
} }
@ -5570,6 +5571,9 @@ private void checkMode() {
// 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()) {