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 sh...@apache.org on 2017/05/25 00:25:22 UTC

[2/2] hadoop git commit: HADOOP-7851. Configuration.getClasses() never returns the default value. (amarrk)

HADOOP-7851. Configuration.getClasses() never returns the default value. (amarrk)

(cherry picked from commit 82d57ee7fee82919b42066af38063a27d0998806)


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

Branch: refs/heads/branch-2.7
Commit: 61ba70c9785f3a0adb272114c4d4cf1491d92c23
Parents: 2b06789
Author: Amar Kamat <am...@apache.org>
Authored: Fri Dec 9 08:50:09 2011 +0000
Committer: Konstantin V Shvachko <sh...@apache.org>
Committed: Wed May 24 17:19:54 2017 -0700

----------------------------------------------------------------------
 hadoop-common-project/hadoop-common/CHANGES.txt |  6 +++---
 .../org/apache/hadoop/conf/Configuration.java   |  6 ++++--
 .../apache/hadoop/conf/TestConfiguration.java   | 21 ++++++++++++++++++++
 3 files changed, 28 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/61ba70c9/hadoop-common-project/hadoop-common/CHANGES.txt
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt
index 515a93e..18f30a1 100644
--- a/hadoop-common-project/hadoop-common/CHANGES.txt
+++ b/hadoop-common-project/hadoop-common/CHANGES.txt
@@ -151,6 +151,9 @@ Release 2.7.4 - UNRELEASED
     HADOOP-14434. Use MoveFileEx to allow renaming a file when the destination
     exists. (Lukas Majercak via cdouglas)
 
+    HADOOP-7851. Configuration.getClasses() never returns the default value. 
+    (Uma Maheswara Rao G via amarrk)
+
 Release 2.7.3 - 2016-08-25
 
   INCOMPATIBLE CHANGES
@@ -5382,9 +5385,6 @@ Release 0.23.1 - 2012-02-17
 
    HADOOP-7841. Run tests with non-secure random. (tlipcon)
 
-    HADOOP-7851. Configuration.getClasses() never returns the default value. 
-                 (Uma Maheswara Rao G via amarrk)
-
    HADOOP-7787. Make source tarball use conventional name.
    (Bruno Mahé via tomwhite)
 

http://git-wip-us.apache.org/repos/asf/hadoop/blob/61ba70c9/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java
index 4cea6a4..1cd6d6c 100644
--- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java
+++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java
@@ -2161,9 +2161,11 @@ public class Configuration implements Iterable<Map.Entry<String,String>>,
    *         or <code>defaultValue</code>. 
    */
   public Class<?>[] getClasses(String name, Class<?> ... defaultValue) {
-    String[] classnames = getTrimmedStrings(name);
-    if (classnames == null)
+    String valueString = getRaw(name);
+    if (null == valueString) {
       return defaultValue;
+    }
+    String[] classnames = getTrimmedStrings(name);
     try {
       Class<?>[] classes = new Class<?>[classnames.length];
       for(int i = 0; i < classnames.length; i++) {

http://git-wip-us.apache.org/repos/asf/hadoop/blob/61ba70c9/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestConfiguration.java
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestConfiguration.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestConfiguration.java
index 74590e9..651973f 100644
--- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestConfiguration.java
+++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestConfiguration.java
@@ -1355,6 +1355,27 @@ public class TestConfiguration extends TestCase {
     // it's expected behaviour.
   }
 
+  public void testGetClassesShouldReturnDefaultValue() throws Exception {
+    Configuration config = new Configuration();
+    Class<?>[] classes = 
+      config.getClasses("testClassName", Configuration.class);
+    assertEquals(
+        "Not returning expected number of classes. Number of returned classes ="
+            + classes.length, 1, classes.length);
+    assertEquals("Not returning the default class Name", Configuration.class,
+        classes[0]);
+  }
+
+  public void testGetClassesShouldReturnEmptyArray()
+      throws Exception {
+    Configuration config = new Configuration();
+    config.set("testClassName", "");
+    Class<?>[] classes = config.getClasses("testClassName", Configuration.class);
+    assertEquals(
+        "Not returning expected number of classes. Number of returned classes ="
+            + classes.length, 0, classes.length);
+  }
+
   public static void main(String[] argv) throws Exception {
     junit.textui.TestRunner.main(new String[]{
       TestConfiguration.class.getName()


---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org