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 cm...@apache.org on 2014/11/24 19:57:47 UTC

hadoop git commit: HDFS-7419. Improve error messages for DataNode hot swap drive feature (Lei Xu via Colin P. Mccabe)

Repository: hadoop
Updated Branches:
  refs/heads/trunk daacbc18d -> f636f9d94


HDFS-7419. Improve error messages for DataNode hot swap drive feature (Lei Xu via Colin P. Mccabe)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/f636f9d9
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/f636f9d9
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/f636f9d9

Branch: refs/heads/trunk
Commit: f636f9d9439742d7ebaaf21f7e22652403572c61
Parents: daacbc1
Author: Colin Patrick Mccabe <cm...@cloudera.com>
Authored: Mon Nov 24 10:51:18 2014 -0800
Committer: Colin Patrick Mccabe <cm...@cloudera.com>
Committed: Mon Nov 24 10:55:21 2014 -0800

----------------------------------------------------------------------
 .../java/org/apache/hadoop/conf/ReconfigurableBase.java     | 2 +-
 .../java/org/apache/hadoop/conf/TestReconfiguration.java    | 5 +++--
 .../org/apache/hadoop/hdfs/server/datanode/DataNode.java    | 9 +++++----
 3 files changed, 9 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/f636f9d9/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/ReconfigurableBase.java
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/ReconfigurableBase.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/ReconfigurableBase.java
index 3248b9a..3664549 100644
--- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/ReconfigurableBase.java
+++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/ReconfigurableBase.java
@@ -128,7 +128,7 @@ public abstract class ReconfigurableBase
         try {
           this.parent.reconfigurePropertyImpl(change.prop, change.newVal);
         } catch (ReconfigurationException e) {
-          errorMessage = e.toString();
+          errorMessage = e.getCause().getMessage();
         }
         results.put(change, Optional.fromNullable(errorMessage));
       }

http://git-wip-us.apache.org/repos/asf/hadoop/blob/f636f9d9/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestReconfiguration.java
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestReconfiguration.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestReconfiguration.java
index 07b26eb..238ebda 100644
--- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestReconfiguration.java
+++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestReconfiguration.java
@@ -389,7 +389,8 @@ public class TestReconfiguration {
         .reconfigurePropertyImpl(eq("name1"), anyString());
     doNothing().when(dummy)
         .reconfigurePropertyImpl(eq("name2"), anyString());
-    doThrow(new ReconfigurationException("NAME3", "NEW3", "OLD3"))
+    doThrow(new ReconfigurationException("NAME3", "NEW3", "OLD3",
+        new IOException("io exception")))
         .when(dummy).reconfigurePropertyImpl(eq("name3"), anyString());
 
     dummy.startReconfigurationTask();
@@ -406,7 +407,7 @@ public class TestReconfiguration {
         assertThat(result.getValue().get(),
             containsString("Property name2 is not reconfigurable"));
       } else if (change.prop.equals("name3")) {
-        assertThat(result.getValue().get(), containsString("NAME3"));
+        assertThat(result.getValue().get(), containsString("io exception"));
       } else {
         fail("Unknown property: " + change.prop);
       }

http://git-wip-us.apache.org/repos/asf/hadoop/blob/f636f9d9/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DataNode.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DataNode.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DataNode.java
index 2ff6870..13c32d5 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DataNode.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DataNode.java
@@ -446,7 +446,7 @@ public class DataNode extends ReconfigurableBase
       try {
         LOG.info("Reconfiguring " + property + " to " + newVal);
         this.refreshVolumes(newVal);
-      } catch (Exception e) {
+      } catch (IOException e) {
         throw new ReconfigurationException(property, newVal,
             getConf().get(property), e);
       }
@@ -581,14 +581,15 @@ public class DataNode extends ReconfigurableBase
             IOException ioe = ioExceptionFuture.get();
             if (ioe != null) {
               errorMessageBuilder.append(String.format("FAILED TO ADD: %s: %s\n",
-                  volume.toString(), ioe.getMessage()));
+                  volume, ioe.getMessage()));
+              LOG.error("Failed to add volume: " + volume, ioe);
             } else {
               effectiveVolumes.add(volume.toString());
+              LOG.info("Successfully added volume: " + volume);
             }
-            LOG.info("Storage directory is loaded: " + volume.toString());
           } catch (Exception e) {
             errorMessageBuilder.append(String.format("FAILED to ADD: %s: %s\n",
-                volume.toString(), e.getMessage()));
+                volume, e.getMessage()));
           }
         }
       }