You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by wh...@apache.org on 2015/06/16 07:09:19 UTC
hadoop git commit: HDFS-8592. SafeModeException never get unwrapped.
Contributed by Haohui Mai.
Repository: hadoop
Updated Branches:
refs/heads/branch-2 b1d3ed02c -> be8e4ed1e
HDFS-8592. SafeModeException never get unwrapped. Contributed by Haohui Mai.
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/be8e4ed1
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/be8e4ed1
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/be8e4ed1
Branch: refs/heads/branch-2
Commit: be8e4ed1e125178d92d30eea8fd89599dfa0d743
Parents: b1d3ed0
Author: Haohui Mai <wh...@apache.org>
Authored: Mon Jun 15 22:07:24 2015 -0700
Committer: Haohui Mai <wh...@apache.org>
Committed: Mon Jun 15 22:07:42 2015 -0700
----------------------------------------------------------------------
hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 2 ++
.../apache/hadoop/hdfs/server/namenode/FSNamesystem.java | 11 ++++++++---
.../hadoop/hdfs/server/namenode/SafeModeException.java | 5 ++---
.../test/java/org/apache/hadoop/hdfs/TestSafeMode.java | 4 ++--
4 files changed, 14 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/be8e4ed1/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
index 9c68cde..db8a031 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
+++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
@@ -558,6 +558,8 @@ Release 2.8.0 - UNRELEASED
HDFS-8607. TestFileCorruption doesn't work as expected. (Walter Su via
Arpit Agarwal)
+ HDFS-8592. SafeModeException never get unwrapped. (wheat9)
+
Release 2.7.1 - UNRELEASED
INCOMPATIBLE CHANGES
http://git-wip-us.apache.org/repos/asf/hadoop/blob/be8e4ed1/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java
index 8109c80..397b729 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java
@@ -1314,7 +1314,7 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean,
void checkNameNodeSafeMode(String errorMsg)
throws RetriableException, SafeModeException {
if (isInSafeMode()) {
- SafeModeException se = new SafeModeException(errorMsg, safeMode);
+ SafeModeException se = newSafemodeException(errorMsg);
if (haEnabled && haContext != null
&& haContext.getState().getServiceState() == HAServiceState.ACTIVE
&& shouldRetrySafeMode(this.safeMode)) {
@@ -1325,6 +1325,11 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean,
}
}
+ private SafeModeException newSafemodeException(String errorMsg) {
+ return new SafeModeException(errorMsg + ". Name node is in safe " +
+ "mode.\n" + safeMode.getTurnOffTip());
+ }
+
boolean isPermissionEnabled() {
return isPermissionEnabled;
}
@@ -1793,8 +1798,8 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean,
for (LocatedBlock b : ret.blocks.getLocatedBlocks()) {
// if safemode & no block locations yet then throw safemodeException
if ((b.getLocations() == null) || (b.getLocations().length == 0)) {
- SafeModeException se = new SafeModeException(
- "Zero blocklocations for " + src, safeMode);
+ SafeModeException se = newSafemodeException(
+ "Zero blocklocations for " + src);
if (haEnabled && haContext != null &&
haContext.getState().getServiceState() == HAServiceState.ACTIVE) {
throw new RetriableException(se);
http://git-wip-us.apache.org/repos/asf/hadoop/blob/be8e4ed1/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/SafeModeException.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/SafeModeException.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/SafeModeException.java
index 458f052..8080bcf 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/SafeModeException.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/SafeModeException.java
@@ -32,8 +32,7 @@ import org.apache.hadoop.classification.InterfaceStability;
@InterfaceStability.Evolving
public class SafeModeException extends IOException {
private static final long serialVersionUID = 1L;
-
- public SafeModeException(String text, FSNamesystem.SafeModeInfo mode ) {
- super(text + ". Name node is in safe mode.\n" + mode.getTurnOffTip());
+ public SafeModeException(String msg) {
+ super(msg);
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/hadoop/blob/be8e4ed1/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestSafeMode.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestSafeMode.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestSafeMode.java
index 80fe9ee..6cea7e8 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestSafeMode.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestSafeMode.java
@@ -295,8 +295,8 @@ public class TestSafeMode {
fail(msg);
} catch (RemoteException re) {
assertEquals(SafeModeException.class.getName(), re.getClassName());
- GenericTestUtils.assertExceptionContains(
- "Name node is in safe mode", re);
+ GenericTestUtils.assertExceptionContains("Name node is in safe mode", re);
+ } catch (SafeModeException ignored) {
} catch (IOException ioe) {
fail(msg + " " + StringUtils.stringifyException(ioe));
}