Hadoop Common
  1. Hadoop Common
  2. HADOOP-6871

When the value of a configuration key is set to its unresolved form, it causes the IllegalStateException in Configuration.get() stating that substitution depth is too large.

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.0.0-alpha1
    • Fix Version/s: 3.0.0-alpha1
    • Component/s: conf
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      When a configuration value is set to its unresolved expression string, it leads to recursive substitution attempts in Configuration.substituteVars(String) method until the max substitution check kicks in and raises an IllegalStateException indicating that the substitution depth is too large. For example, the configuration key "foobar" with a value set to "${foobar}" will cause this behavior.

      While this is not a usual use case, it can happen in build environments where a property value is not specified and yet being passed into the test mechanism leading to failures due to this limitation.

      1. HADOOP-6871.patch
        59 kB
        Arvind Prabhakar
      2. HADOOP-6871-1.patch
        2 kB
        Arvind Prabhakar
      3. HADOOP-6871-2.patch
        2 kB
        Arvind Prabhakar
      4. HADOOP-6871-3.patch
        2 kB
        Arvind Prabhakar

        Issue Links

          Activity

          Hide
          Arvind Prabhakar added a comment -

          This patch fixes this problem by maintaining a set of intermediate evaluated expressions to test if there is a cycle detected during the resolution loop. If a cycle is detected, the then intermediate form is returned instead of raising any exception.

          Note that since my formatter setting is such that it substitutes all tabs with spaces, there appear to be a lot of changes - most of which are only white-space related. If there is a need to preserve the current tab/space format, I can regenerate the patch with this disabled.

          PS - I am not able to assign the jira to myself for some reason. Admin(s) can you please add me to the list of assignees?

          Show
          Arvind Prabhakar added a comment - This patch fixes this problem by maintaining a set of intermediate evaluated expressions to test if there is a cycle detected during the resolution loop. If a cycle is detected, the then intermediate form is returned instead of raising any exception. Note that since my formatter setting is such that it substitutes all tabs with spaces, there appear to be a lot of changes - most of which are only white-space related. If there is a need to preserve the current tab/space format, I can regenerate the patch with this disabled. PS - I am not able to assign the jira to myself for some reason. Admin(s) can you please add me to the list of assignees?
          Hide
          Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12450102/HADOOP-6871.patch
          against trunk revision 965725.

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 3 new or modified tests.

          -1 javadoc. The javadoc tool appears to have generated 1 warning messages.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 findbugs. The patch does not introduce any new Findbugs warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          +1 core tests. The patch passed core unit tests.

          +1 contrib tests. The patch passed contrib unit tests.

          Test results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch-h1.grid.sp2.yahoo.net/89/testReport/
          Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch-h1.grid.sp2.yahoo.net/89/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
          Checkstyle results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch-h1.grid.sp2.yahoo.net/89/artifact/trunk/build/test/checkstyle-errors.html
          Console output: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch-h1.grid.sp2.yahoo.net/89/console

          This message is automatically generated.

          Show
          Hadoop QA added a comment - -1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12450102/HADOOP-6871.patch against trunk revision 965725. +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 3 new or modified tests. -1 javadoc. The javadoc tool appears to have generated 1 warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. +1 findbugs. The patch does not introduce any new Findbugs warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. +1 core tests. The patch passed core unit tests. +1 contrib tests. The patch passed contrib unit tests. Test results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch-h1.grid.sp2.yahoo.net/89/testReport/ Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch-h1.grid.sp2.yahoo.net/89/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html Checkstyle results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch-h1.grid.sp2.yahoo.net/89/artifact/trunk/build/test/checkstyle-errors.html Console output: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch-h1.grid.sp2.yahoo.net/89/console This message is automatically generated.
          Hide
          Arvind Prabhakar added a comment -

          Removed the whitespace formatting as that may have caused the javadoc warning from the previous automated test build.

          Show
          Arvind Prabhakar added a comment - Removed the whitespace formatting as that may have caused the javadoc warning from the previous automated test build.
          Hide
          Arvind Prabhakar added a comment -

          Canceling and resubmitting patch to trigger the QA build.

          Show
          Arvind Prabhakar added a comment - Canceling and resubmitting patch to trigger the QA build.
          Hide
          Arvind Prabhakar added a comment -

          Canceling and resubmitting patch to trigger the QA build.

          Show
          Arvind Prabhakar added a comment - Canceling and resubmitting patch to trigger the QA build.
          Hide
          Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12450115/HADOOP-6871-1.patch
          against trunk revision 967220.

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 3 new or modified tests.

          -1 javadoc. The javadoc tool appears to have generated 1 warning messages.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 findbugs. The patch does not introduce any new Findbugs warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          +1 core tests. The patch passed core unit tests.

          +1 contrib tests. The patch passed contrib unit tests.

          Test results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch-h4.grid.sp2.yahoo.net/632/testReport/
          Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch-h4.grid.sp2.yahoo.net/632/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
          Checkstyle results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch-h4.grid.sp2.yahoo.net/632/artifact/trunk/build/test/checkstyle-errors.html
          Console output: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch-h4.grid.sp2.yahoo.net/632/console

          This message is automatically generated.

          Show
          Hadoop QA added a comment - -1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12450115/HADOOP-6871-1.patch against trunk revision 967220. +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 3 new or modified tests. -1 javadoc. The javadoc tool appears to have generated 1 warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. +1 findbugs. The patch does not introduce any new Findbugs warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. +1 core tests. The patch passed core unit tests. +1 contrib tests. The patch passed contrib unit tests. Test results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch-h4.grid.sp2.yahoo.net/632/testReport/ Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch-h4.grid.sp2.yahoo.net/632/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html Checkstyle results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch-h4.grid.sp2.yahoo.net/632/artifact/trunk/build/test/checkstyle-errors.html Console output: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch-h4.grid.sp2.yahoo.net/632/console This message is automatically generated.
          Hide
          Arvind Prabhakar added a comment -

          I am not very sure what exactly is causing the Javadoc warning in the automated build. Can anyone comment/clarify what exactly is causing this issue?

          Show
          Arvind Prabhakar added a comment - I am not very sure what exactly is causing the Javadoc warning in the automated build. Can anyone comment/clarify what exactly is causing this issue?
          Hide
          Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12450115/HADOOP-6871-1.patch
          against trunk revision 1031422.

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 3 new or modified tests.

          +1 javadoc. The javadoc tool did not generate any warning messages.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 findbugs. The patch does not introduce any new Findbugs warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          -1 core tests. The patch failed core unit tests.

          +1 contrib tests. The patch passed contrib unit tests.

          +1 system test framework. The patch passed system test framework compile.

          Test results: https://hudson.apache.org/hudson/job/PreCommit-HADOOP-Build/28//testReport/
          Findbugs warnings: https://hudson.apache.org/hudson/job/PreCommit-HADOOP-Build/28//artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
          Console output: https://hudson.apache.org/hudson/job/PreCommit-HADOOP-Build/28//console

          This message is automatically generated.

          Show
          Hadoop QA added a comment - -1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12450115/HADOOP-6871-1.patch against trunk revision 1031422. +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 3 new or modified tests. +1 javadoc. The javadoc tool did not generate any warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. +1 findbugs. The patch does not introduce any new Findbugs warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. -1 core tests. The patch failed core unit tests. +1 contrib tests. The patch passed contrib unit tests. +1 system test framework. The patch passed system test framework compile. Test results: https://hudson.apache.org/hudson/job/PreCommit-HADOOP-Build/28//testReport/ Findbugs warnings: https://hudson.apache.org/hudson/job/PreCommit-HADOOP-Build/28//artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html Console output: https://hudson.apache.org/hudson/job/PreCommit-HADOOP-Build/28//console This message is automatically generated.
          Hide
          Hadoop QA added a comment -

          +1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12450115/HADOOP-6871-1.patch
          against trunk revision 1071364.

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 3 new or modified tests.

          +1 javadoc. The javadoc tool did not generate any warning messages.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          +1 core tests. The patch passed core unit tests.

          +1 contrib tests. The patch passed contrib unit tests.

          +1 system test framework. The patch passed system test framework compile.

          Test results: https://hudson.apache.org/hudson/job/PreCommit-HADOOP-Build/268//testReport/
          Findbugs warnings: https://hudson.apache.org/hudson/job/PreCommit-HADOOP-Build/268//artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
          Console output: https://hudson.apache.org/hudson/job/PreCommit-HADOOP-Build/268//console

          This message is automatically generated.

          Show
          Hadoop QA added a comment - +1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12450115/HADOOP-6871-1.patch against trunk revision 1071364. +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 3 new or modified tests. +1 javadoc. The javadoc tool did not generate any warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. +1 core tests. The patch passed core unit tests. +1 contrib tests. The patch passed contrib unit tests. +1 system test framework. The patch passed system test framework compile. Test results: https://hudson.apache.org/hudson/job/PreCommit-HADOOP-Build/268//testReport/ Findbugs warnings: https://hudson.apache.org/hudson/job/PreCommit-HADOOP-Build/268//artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html Console output: https://hudson.apache.org/hudson/job/PreCommit-HADOOP-Build/268//console This message is automatically generated.
          Hide
          Harsh J added a comment -

          +1, the approach looks good.

          Would you be willing to take a shot at rebasing this for trunk?

          Show
          Harsh J added a comment - +1, the approach looks good. Would you be willing to take a shot at rebasing this for trunk?
          Hide
          Arvind Prabhakar added a comment -

          Rebased the patch on trunk. Thanks for taking a look at it Harsh.

          Show
          Arvind Prabhakar added a comment - Rebased the patch on trunk. Thanks for taking a look at it Harsh.
          Hide
          Ahmed Radwan added a comment -

          Thanks Arvind, I am still unable to apply the latest patch to trunk. Can you please recheck?

          Show
          Ahmed Radwan added a comment - Thanks Arvind, I am still unable to apply the latest patch to trunk. Can you please recheck?
          Hide
          Arvind Prabhakar added a comment -

          Thanks for looking at it Ahmed, and apologies for the mix up. The newly updated patch (HADOOP-6871-3.patch) should apply cleanly. Please let me know if you find any issues with it.

          Show
          Arvind Prabhakar added a comment - Thanks for looking at it Ahmed, and apologies for the mix up. The newly updated patch ( HADOOP-6871 -3.patch) should apply cleanly. Please let me know if you find any issues with it.
          Hide
          Ahmed Radwan added a comment -

          +1, the patch looks good. The included test case confirms the right behavior of detecting cycles and returning the current value.

          Show
          Ahmed Radwan added a comment - +1, the patch looks good. The included test case confirms the right behavior of detecting cycles and returning the current value.
          Hide
          Hadoop QA added a comment -

          -1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12513183/HADOOP-6871-3.patch
          against trunk revision .

          +1 @author. The patch does not contain any @author tags.

          +1 tests included. The patch appears to include 3 new or modified tests.

          +1 javadoc. The javadoc tool did not generate any warning messages.

          +1 javac. The applied patch does not increase the total number of javac compiler warnings.

          +1 eclipse:eclipse. The patch built with eclipse:eclipse.

          +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings.

          +1 release audit. The applied patch does not increase the total number of release audit warnings.

          -1 core tests. The patch failed these unit tests:
          org.apache.hadoop.ha.TestHealthMonitor

          +1 contrib tests. The patch passed contrib unit tests.

          Test results: https://builds.apache.org/job/PreCommit-HADOOP-Build/764//testReport/
          Console output: https://builds.apache.org/job/PreCommit-HADOOP-Build/764//console

          This message is automatically generated.

          Show
          Hadoop QA added a comment - -1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12513183/HADOOP-6871-3.patch against trunk revision . +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 3 new or modified tests. +1 javadoc. The javadoc tool did not generate any warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. +1 eclipse:eclipse. The patch built with eclipse:eclipse. +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. -1 core tests. The patch failed these unit tests: org.apache.hadoop.ha.TestHealthMonitor +1 contrib tests. The patch passed contrib unit tests. Test results: https://builds.apache.org/job/PreCommit-HADOOP-Build/764//testReport/ Console output: https://builds.apache.org/job/PreCommit-HADOOP-Build/764//console This message is automatically generated.
          Hide
          Harsh J added a comment -

          -1 core tests. The patch failed these unit tests:
          org.apache.hadoop.ha.TestHealthMonitor

          This was perhaps an issue on trunk back then. Passes for me locally:

          ➜  hadoop-common  svn diff                                  
          Index: src/test/java/org/apache/hadoop/conf/TestConfiguration.java
          ===================================================================
          --- src/test/java/org/apache/hadoop/conf/TestConfiguration.java	(revision 1342610)
          +++ src/test/java/org/apache/hadoop/conf/TestConfiguration.java	(working copy)
          @@ -999,6 +999,15 @@
                   "Not returning expected number of classes. Number of returned classes ="
                       + classes.length, 0, classes.length);
             }
          +
          +  public void testInvalidSubstitutation() {
          +    String key = "test.random.key";
          +    String keyExpression = "${" + key + "}";
          +    Configuration configuration = new Configuration();
          +    configuration.set(key, keyExpression);
          +    String value = configuration.get(key);
          +    assertTrue("Unexpected value " + value, value.equals(keyExpression));
          +  }
             
             public static void main(String[] argv) throws Exception {
               junit.textui.TestRunner.main(new String[]{
          Index: src/main/java/org/apache/hadoop/conf/Configuration.java
          ===================================================================
          --- src/main/java/org/apache/hadoop/conf/Configuration.java	(revision 1342610)
          +++ src/main/java/org/apache/hadoop/conf/Configuration.java	(working copy)
          @@ -617,7 +617,13 @@
               }
               Matcher match = varPat.matcher("");
               String eval = expr;
          +    Set<String> evalSet = new HashSet<String>();
               for(int s=0; s<MAX_SUBST; s++) {
          +      if (evalSet.contains(eval)) {
          +        // Cyclic resolution pattern detected. Return current expression.
          +        return eval;
          +      }
          +      evalSet.add(eval);
                 match.reset(eval);
                 if (!match.find()) {
                   return eval;
          ➜  hadoop-common  mvn clean install -Dtest=TestConfiguration,TestHealthMonitor
          [INFO] Scanning for projects...
          [INFO]                                                                         
          [INFO] ------------------------------------------------------------------------
          [INFO] Building Apache Hadoop Common 3.0.0-SNAPSHOT
          [INFO] ------------------------------------------------------------------------
          [INFO] 
          [INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ hadoop-common ---
          [INFO] Deleting /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target
          [INFO] 
          [INFO] --- maven-antrun-plugin:1.6:run (create-testdirs) @ hadoop-common ---
          [INFO] Executing tasks
          
          main:
              [mkdir] Created dir: /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/test-dir
              [mkdir] Created dir: /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/test/data
          [INFO] Executed tasks
          [INFO] 
          [INFO] --- build-helper-maven-plugin:1.5:add-source (add-source) @ hadoop-common ---
          [INFO] Source directory: /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/generated-sources/java added.
          [INFO] 
          [INFO] --- build-helper-maven-plugin:1.5:add-test-source (add-test-source) @ hadoop-common ---
          [INFO] Test Source directory: /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/generated-test-sources/java added.
          [INFO] 
          [INFO] --- maven-antrun-plugin:1.6:run (compile-proto) @ hadoop-common ---
          [INFO] Executing tasks
          
          main:
          [INFO] Executed tasks
          [INFO] 
          [INFO] --- maven-antrun-plugin:1.6:run (save-version) @ hadoop-common ---
          [INFO] Executing tasks
          
          main:
          [INFO] Executed tasks
          [INFO] 
          [INFO] --- maven-dependency-plugin:2.1:build-classpath (build-classpath) @ hadoop-common ---
          [INFO] Wrote classpath file '/Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/classes/mrapp-generated-classpath'.
          [INFO] 
          [INFO] --- maven-resources-plugin:2.2:resources (default-resources) @ hadoop-common ---
          [INFO] Using default encoding to copy filtered resources.
          [INFO] 
          [INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ hadoop-common ---
          [INFO] Compiling 629 source files to /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/classes
          [INFO] 
          [INFO] --- avro-maven-plugin:1.5.3:schema (generate-avro-test-sources) @ hadoop-common ---
          [INFO] 
          [INFO] --- maven-antrun-plugin:1.6:run (compile-test-proto) @ hadoop-common ---
          [INFO] Executing tasks
          
          main:
          [INFO] Executed tasks
          [INFO] 
          [INFO] --- maven-antrun-plugin:1.6:run (generate-test-sources) @ hadoop-common ---
          [INFO] Executing tasks
          
          main:
          [INFO] Executed tasks
          [INFO] 
          [INFO] --- maven-resources-plugin:2.2:testResources (default-testResources) @ hadoop-common ---
          [INFO] Using default encoding to copy filtered resources.
          [INFO] 
          [INFO] --- maven-antrun-plugin:1.6:run (create-log-dir) @ hadoop-common ---
          [INFO] Executing tasks
          
          main:
             [delete] Deleting directory /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/test/data
              [mkdir] Created dir: /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/test/data
              [mkdir] Created dir: /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/log
               [copy] Copying 5 files to /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/test-classes
          [INFO] Executed tasks
          [INFO] 
          [INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ hadoop-common ---
          [INFO] Compiling 309 source files to /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/test-classes
          [INFO] 
          [INFO] --- maven-surefire-plugin:2.12:test (default-test) @ hadoop-common ---
          [INFO] Surefire report directory: /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/surefire-reports
          
          -------------------------------------------------------
           T E S T S
          -------------------------------------------------------
          
          -------------------------------------------------------
           T E S T S
          -------------------------------------------------------
          Running org.apache.hadoop.conf.TestConfiguration
          Tests run: 37, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.672 sec
          Running org.apache.hadoop.ha.TestHealthMonitor
          Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.291 sec
          
          Results :
          
          Tests run: 40, Failures: 0, Errors: 0, Skipped: 0
          
          [INFO] 
          [INFO] --- maven-jar-plugin:2.3.1:jar (prepare-jar) @ hadoop-common ---
          [INFO] Building jar: /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/hadoop-common-3.0.0-SNAPSHOT.jar
          [INFO] 
          [INFO] --- maven-jar-plugin:2.3.1:test-jar (prepare-test-jar) @ hadoop-common ---
          [INFO] Building jar: /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/hadoop-common-3.0.0-SNAPSHOT-tests.jar
          [INFO] 
          [INFO] >>> maven-source-plugin:2.1.2:jar (default) @ hadoop-common >>>
          [INFO] 
          [INFO] --- maven-antrun-plugin:1.6:run (create-testdirs) @ hadoop-common ---
          [INFO] Executing tasks
          
          main:
          [INFO] Executed tasks
          [INFO] 
          [INFO] --- build-helper-maven-plugin:1.5:add-source (add-source) @ hadoop-common ---
          [INFO] Source directory: /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/generated-sources/java added.
          [INFO] 
          [INFO] --- build-helper-maven-plugin:1.5:add-test-source (add-test-source) @ hadoop-common ---
          [INFO] Test Source directory: /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/generated-test-sources/java added.
          [INFO] 
          [INFO] --- maven-antrun-plugin:1.6:run (compile-proto) @ hadoop-common ---
          [INFO] Executing tasks
          
          main:
          [INFO] Executed tasks
          [INFO] 
          [INFO] --- maven-antrun-plugin:1.6:run (save-version) @ hadoop-common ---
          [INFO] Executing tasks
          
          main:
          [INFO] Executed tasks
          [INFO] 
          [INFO] --- maven-dependency-plugin:2.1:build-classpath (build-classpath) @ hadoop-common ---
          [INFO] Skipped writing classpath file '/Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/classes/mrapp-generated-classpath'.  No changes found.
          [INFO] 
          [INFO] <<< maven-source-plugin:2.1.2:jar (default) @ hadoop-common <<<
          [INFO] 
          [INFO] --- maven-source-plugin:2.1.2:jar (default) @ hadoop-common ---
          [INFO] org already added, skipping
          [INFO] org/apache already added, skipping
          [INFO] org/apache/hadoop already added, skipping
          [INFO] org/apache/hadoop/ha already added, skipping
          [INFO] org/apache/hadoop/ipc already added, skipping
          [INFO] org/apache/hadoop/ipc/protobuf already added, skipping
          [INFO] Building jar: /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/hadoop-common-3.0.0-SNAPSHOT-sources.jar
          [INFO] org already added, skipping
          [INFO] org/apache already added, skipping
          [INFO] org/apache/hadoop already added, skipping
          [INFO] org/apache/hadoop/ha already added, skipping
          [INFO] org/apache/hadoop/ipc already added, skipping
          [INFO] org/apache/hadoop/ipc/protobuf already added, skipping
          [INFO] 
          [INFO] >>> maven-source-plugin:2.1.2:test-jar (default) @ hadoop-common >>>
          [INFO] 
          [INFO] --- maven-antrun-plugin:1.6:run (create-testdirs) @ hadoop-common ---
          [INFO] Executing tasks
          
          main:
          [INFO] Executed tasks
          [INFO] 
          [INFO] --- build-helper-maven-plugin:1.5:add-source (add-source) @ hadoop-common ---
          [INFO] Source directory: /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/generated-sources/java added.
          [INFO] 
          [INFO] --- build-helper-maven-plugin:1.5:add-test-source (add-test-source) @ hadoop-common ---
          [INFO] Test Source directory: /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/generated-test-sources/java added.
          [INFO] 
          [INFO] --- maven-antrun-plugin:1.6:run (compile-proto) @ hadoop-common ---
          [INFO] Executing tasks
          
          main:
          [INFO] Executed tasks
          [INFO] 
          [INFO] --- maven-antrun-plugin:1.6:run (save-version) @ hadoop-common ---
          [INFO] Executing tasks
          
          main:
          [INFO] Executed tasks
          [INFO] 
          [INFO] --- maven-dependency-plugin:2.1:build-classpath (build-classpath) @ hadoop-common ---
          [INFO] Skipped writing classpath file '/Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/classes/mrapp-generated-classpath'.  No changes found.
          [INFO] 
          [INFO] <<< maven-source-plugin:2.1.2:test-jar (default) @ hadoop-common <<<
          [INFO] 
          [INFO] --- maven-source-plugin:2.1.2:test-jar (default) @ hadoop-common ---
          [INFO] org already added, skipping
          [INFO] org/apache already added, skipping
          [INFO] org/apache/hadoop already added, skipping
          [INFO] org/apache/hadoop/io already added, skipping
          [INFO] org/apache/hadoop/io/serializer already added, skipping
          [INFO] org/apache/hadoop/io/serializer/avro already added, skipping
          [INFO] org/apache/hadoop/ipc already added, skipping
          [INFO] org/apache/hadoop/ipc/protobuf already added, skipping
          [INFO] org/apache/hadoop/record already added, skipping
          [INFO] Building jar: /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/hadoop-common-3.0.0-SNAPSHOT-test-sources.jar
          [INFO] org already added, skipping
          [INFO] org/apache already added, skipping
          [INFO] org/apache/hadoop already added, skipping
          [INFO] org/apache/hadoop/io already added, skipping
          [INFO] org/apache/hadoop/io/serializer already added, skipping
          [INFO] org/apache/hadoop/io/serializer/avro already added, skipping
          [INFO] org/apache/hadoop/ipc already added, skipping
          [INFO] org/apache/hadoop/ipc/protobuf already added, skipping
          [INFO] org/apache/hadoop/record already added, skipping
          [INFO] 
          [INFO] --- maven-jar-plugin:2.3.1:jar (default-jar) @ hadoop-common ---
          [INFO] 
          [INFO] --- maven-site-plugin:3.0:attach-descriptor (attach-descriptor) @ hadoop-common ---
          [INFO] 
          [INFO] --- maven-install-plugin:2.3.1:install (default-install) @ hadoop-common ---
          [INFO] Installing /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/hadoop-common-3.0.0-SNAPSHOT.jar to /Users/harshchouraria/.m2/repository/org/apache/hadoop/hadoop-common/3.0.0-SNAPSHOT/hadoop-common-3.0.0-SNAPSHOT.jar
          [INFO] Installing /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/pom.xml to /Users/harshchouraria/.m2/repository/org/apache/hadoop/hadoop-common/3.0.0-SNAPSHOT/hadoop-common-3.0.0-SNAPSHOT.pom
          [INFO] Installing /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/hadoop-common-3.0.0-SNAPSHOT-tests.jar to /Users/harshchouraria/.m2/repository/org/apache/hadoop/hadoop-common/3.0.0-SNAPSHOT/hadoop-common-3.0.0-SNAPSHOT-tests.jar
          [INFO] Installing /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/hadoop-common-3.0.0-SNAPSHOT-sources.jar to /Users/harshchouraria/.m2/repository/org/apache/hadoop/hadoop-common/3.0.0-SNAPSHOT/hadoop-common-3.0.0-SNAPSHOT-sources.jar
          [INFO] Installing /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/hadoop-common-3.0.0-SNAPSHOT-test-sources.jar to /Users/harshchouraria/.m2/repository/org/apache/hadoop/hadoop-common/3.0.0-SNAPSHOT/hadoop-common-3.0.0-SNAPSHOT-test-sources.jar
          [INFO] ------------------------------------------------------------------------
          [INFO] BUILD SUCCESS
          [INFO] ------------------------------------------------------------------------
          [INFO] Total time: 24.349s
          [INFO] Finished at: Fri May 25 19:25:03 GMT+05:30 2012
          [INFO] Final Memory: 23M/121M
          [INFO] ------------------------------------------------------------------------
          

          +1, committing.

          Show
          Harsh J added a comment - -1 core tests. The patch failed these unit tests: org.apache.hadoop.ha.TestHealthMonitor This was perhaps an issue on trunk back then. Passes for me locally: ➜ hadoop-common svn diff Index: src/test/java/org/apache/hadoop/conf/TestConfiguration.java =================================================================== --- src/test/java/org/apache/hadoop/conf/TestConfiguration.java (revision 1342610) +++ src/test/java/org/apache/hadoop/conf/TestConfiguration.java (working copy) @@ -999,6 +999,15 @@ "Not returning expected number of classes. Number of returned classes =" + classes.length, 0, classes.length); } + + public void testInvalidSubstitutation() { + String key = "test.random.key" ; + String keyExpression = "${" + key + "}" ; + Configuration configuration = new Configuration(); + configuration.set(key, keyExpression); + String value = configuration.get(key); + assertTrue( "Unexpected value " + value, value.equals(keyExpression)); + } public static void main( String [] argv) throws Exception { junit.textui.TestRunner.main( new String []{ Index: src/main/java/org/apache/hadoop/conf/Configuration.java =================================================================== --- src/main/java/org/apache/hadoop/conf/Configuration.java (revision 1342610) +++ src/main/java/org/apache/hadoop/conf/Configuration.java (working copy) @@ -617,7 +617,13 @@ } Matcher match = varPat.matcher(""); String eval = expr; + Set< String > evalSet = new HashSet< String >(); for ( int s=0; s<MAX_SUBST; s++) { + if (evalSet.contains(eval)) { + // Cyclic resolution pattern detected. Return current expression. + return eval; + } + evalSet.add(eval); match.reset(eval); if (!match.find()) { return eval; ➜ hadoop-common mvn clean install -Dtest=TestConfiguration,TestHealthMonitor [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building Apache Hadoop Common 3.0.0-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-clean-plugin:2.4.1:clean ( default -clean) @ hadoop-common --- [INFO] Deleting /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target [INFO] [INFO] --- maven-antrun-plugin:1.6:run (create-testdirs) @ hadoop-common --- [INFO] Executing tasks main: [mkdir] Created dir: /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/test-dir [mkdir] Created dir: /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/test/data [INFO] Executed tasks [INFO] [INFO] --- build-helper-maven-plugin:1.5:add-source (add-source) @ hadoop-common --- [INFO] Source directory: /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/generated-sources/java added. [INFO] [INFO] --- build-helper-maven-plugin:1.5:add-test-source (add-test-source) @ hadoop-common --- [INFO] Test Source directory: /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/generated-test-sources/java added. [INFO] [INFO] --- maven-antrun-plugin:1.6:run (compile-proto) @ hadoop-common --- [INFO] Executing tasks main: [INFO] Executed tasks [INFO] [INFO] --- maven-antrun-plugin:1.6:run (save-version) @ hadoop-common --- [INFO] Executing tasks main: [INFO] Executed tasks [INFO] [INFO] --- maven-dependency-plugin:2.1:build-classpath (build-classpath) @ hadoop-common --- [INFO] Wrote classpath file '/Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/classes/mrapp-generated-classpath'. [INFO] [INFO] --- maven-resources-plugin:2.2:resources ( default -resources) @ hadoop-common --- [INFO] Using default encoding to copy filtered resources. [INFO] [INFO] --- maven-compiler-plugin:2.3.2:compile ( default -compile) @ hadoop-common --- [INFO] Compiling 629 source files to /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/classes [INFO] [INFO] --- avro-maven-plugin:1.5.3:schema (generate-avro-test-sources) @ hadoop-common --- [INFO] [INFO] --- maven-antrun-plugin:1.6:run (compile-test-proto) @ hadoop-common --- [INFO] Executing tasks main: [INFO] Executed tasks [INFO] [INFO] --- maven-antrun-plugin:1.6:run (generate-test-sources) @ hadoop-common --- [INFO] Executing tasks main: [INFO] Executed tasks [INFO] [INFO] --- maven-resources-plugin:2.2:testResources ( default -testResources) @ hadoop-common --- [INFO] Using default encoding to copy filtered resources. [INFO] [INFO] --- maven-antrun-plugin:1.6:run (create-log-dir) @ hadoop-common --- [INFO] Executing tasks main: [delete] Deleting directory /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/test/data [mkdir] Created dir: /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/test/data [mkdir] Created dir: /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/log [copy] Copying 5 files to /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/test-classes [INFO] Executed tasks [INFO] [INFO] --- maven-compiler-plugin:2.3.2:testCompile ( default -testCompile) @ hadoop-common --- [INFO] Compiling 309 source files to /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/test-classes [INFO] [INFO] --- maven-surefire-plugin:2.12:test ( default -test) @ hadoop-common --- [INFO] Surefire report directory: /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/surefire-reports ------------------------------------------------------- T E S T S ------------------------------------------------------- ------------------------------------------------------- T E S T S ------------------------------------------------------- Running org.apache.hadoop.conf.TestConfiguration Tests run: 37, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.672 sec Running org.apache.hadoop.ha.TestHealthMonitor Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.291 sec Results : Tests run: 40, Failures: 0, Errors: 0, Skipped: 0 [INFO] [INFO] --- maven-jar-plugin:2.3.1:jar (prepare-jar) @ hadoop-common --- [INFO] Building jar: /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/hadoop-common-3.0.0-SNAPSHOT.jar [INFO] [INFO] --- maven-jar-plugin:2.3.1:test-jar (prepare-test-jar) @ hadoop-common --- [INFO] Building jar: /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/hadoop-common-3.0.0-SNAPSHOT-tests.jar [INFO] [INFO] >>> maven-source-plugin:2.1.2:jar ( default ) @ hadoop-common >>> [INFO] [INFO] --- maven-antrun-plugin:1.6:run (create-testdirs) @ hadoop-common --- [INFO] Executing tasks main: [INFO] Executed tasks [INFO] [INFO] --- build-helper-maven-plugin:1.5:add-source (add-source) @ hadoop-common --- [INFO] Source directory: /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/generated-sources/java added. [INFO] [INFO] --- build-helper-maven-plugin:1.5:add-test-source (add-test-source) @ hadoop-common --- [INFO] Test Source directory: /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/generated-test-sources/java added. [INFO] [INFO] --- maven-antrun-plugin:1.6:run (compile-proto) @ hadoop-common --- [INFO] Executing tasks main: [INFO] Executed tasks [INFO] [INFO] --- maven-antrun-plugin:1.6:run (save-version) @ hadoop-common --- [INFO] Executing tasks main: [INFO] Executed tasks [INFO] [INFO] --- maven-dependency-plugin:2.1:build-classpath (build-classpath) @ hadoop-common --- [INFO] Skipped writing classpath file '/Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/classes/mrapp-generated-classpath'. No changes found. [INFO] [INFO] <<< maven-source-plugin:2.1.2:jar ( default ) @ hadoop-common <<< [INFO] [INFO] --- maven-source-plugin:2.1.2:jar ( default ) @ hadoop-common --- [INFO] org already added, skipping [INFO] org/apache already added, skipping [INFO] org/apache/hadoop already added, skipping [INFO] org/apache/hadoop/ha already added, skipping [INFO] org/apache/hadoop/ipc already added, skipping [INFO] org/apache/hadoop/ipc/protobuf already added, skipping [INFO] Building jar: /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/hadoop-common-3.0.0-SNAPSHOT-sources.jar [INFO] org already added, skipping [INFO] org/apache already added, skipping [INFO] org/apache/hadoop already added, skipping [INFO] org/apache/hadoop/ha already added, skipping [INFO] org/apache/hadoop/ipc already added, skipping [INFO] org/apache/hadoop/ipc/protobuf already added, skipping [INFO] [INFO] >>> maven-source-plugin:2.1.2:test-jar ( default ) @ hadoop-common >>> [INFO] [INFO] --- maven-antrun-plugin:1.6:run (create-testdirs) @ hadoop-common --- [INFO] Executing tasks main: [INFO] Executed tasks [INFO] [INFO] --- build-helper-maven-plugin:1.5:add-source (add-source) @ hadoop-common --- [INFO] Source directory: /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/generated-sources/java added. [INFO] [INFO] --- build-helper-maven-plugin:1.5:add-test-source (add-test-source) @ hadoop-common --- [INFO] Test Source directory: /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/generated-test-sources/java added. [INFO] [INFO] --- maven-antrun-plugin:1.6:run (compile-proto) @ hadoop-common --- [INFO] Executing tasks main: [INFO] Executed tasks [INFO] [INFO] --- maven-antrun-plugin:1.6:run (save-version) @ hadoop-common --- [INFO] Executing tasks main: [INFO] Executed tasks [INFO] [INFO] --- maven-dependency-plugin:2.1:build-classpath (build-classpath) @ hadoop-common --- [INFO] Skipped writing classpath file '/Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/classes/mrapp-generated-classpath'. No changes found. [INFO] [INFO] <<< maven-source-plugin:2.1.2:test-jar ( default ) @ hadoop-common <<< [INFO] [INFO] --- maven-source-plugin:2.1.2:test-jar ( default ) @ hadoop-common --- [INFO] org already added, skipping [INFO] org/apache already added, skipping [INFO] org/apache/hadoop already added, skipping [INFO] org/apache/hadoop/io already added, skipping [INFO] org/apache/hadoop/io/serializer already added, skipping [INFO] org/apache/hadoop/io/serializer/avro already added, skipping [INFO] org/apache/hadoop/ipc already added, skipping [INFO] org/apache/hadoop/ipc/protobuf already added, skipping [INFO] org/apache/hadoop/record already added, skipping [INFO] Building jar: /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/hadoop-common-3.0.0-SNAPSHOT-test-sources.jar [INFO] org already added, skipping [INFO] org/apache already added, skipping [INFO] org/apache/hadoop already added, skipping [INFO] org/apache/hadoop/io already added, skipping [INFO] org/apache/hadoop/io/serializer already added, skipping [INFO] org/apache/hadoop/io/serializer/avro already added, skipping [INFO] org/apache/hadoop/ipc already added, skipping [INFO] org/apache/hadoop/ipc/protobuf already added, skipping [INFO] org/apache/hadoop/record already added, skipping [INFO] [INFO] --- maven-jar-plugin:2.3.1:jar ( default -jar) @ hadoop-common --- [INFO] [INFO] --- maven-site-plugin:3.0:attach-descriptor (attach-descriptor) @ hadoop-common --- [INFO] [INFO] --- maven-install-plugin:2.3.1:install ( default -install) @ hadoop-common --- [INFO] Installing /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/hadoop-common-3.0.0-SNAPSHOT.jar to /Users/harshchouraria/.m2/repository/org/apache/hadoop/hadoop-common/3.0.0-SNAPSHOT/hadoop-common-3.0.0-SNAPSHOT.jar [INFO] Installing /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/pom.xml to /Users/harshchouraria/.m2/repository/org/apache/hadoop/hadoop-common/3.0.0-SNAPSHOT/hadoop-common-3.0.0-SNAPSHOT.pom [INFO] Installing /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/hadoop-common-3.0.0-SNAPSHOT-tests.jar to /Users/harshchouraria/.m2/repository/org/apache/hadoop/hadoop-common/3.0.0-SNAPSHOT/hadoop-common-3.0.0-SNAPSHOT-tests.jar [INFO] Installing /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/hadoop-common-3.0.0-SNAPSHOT-sources.jar to /Users/harshchouraria/.m2/repository/org/apache/hadoop/hadoop-common/3.0.0-SNAPSHOT/hadoop-common-3.0.0-SNAPSHOT-sources.jar [INFO] Installing /Users/harshchouraria/Work/code/apache/root-hadoop/trunk/hadoop-common-project/hadoop-common/target/hadoop-common-3.0.0-SNAPSHOT-test-sources.jar to /Users/harshchouraria/.m2/repository/org/apache/hadoop/hadoop-common/3.0.0-SNAPSHOT/hadoop-common-3.0.0-SNAPSHOT-test-sources.jar [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 24.349s [INFO] Finished at: Fri May 25 19:25:03 GMT+05:30 2012 [INFO] Final Memory: 23M/121M [INFO] ------------------------------------------------------------------------ +1, committing.
          Hide
          Harsh J added a comment -

          Committed revision 1342626 to trunk. Thanks for your contribution Arvind! Thanks for the review as well Ahmed!

          Show
          Harsh J added a comment - Committed revision 1342626 to trunk. Thanks for your contribution Arvind! Thanks for the review as well Ahmed!
          Hide
          Hudson added a comment -

          Integrated in Hadoop-Hdfs-trunk-Commit #2362 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk-Commit/2362/)
          HADOOP-6871. When the value of a configuration key is set to its unresolved form, it causes an IllegalStateException in Configuration.get() stating that substitution depth is too large. Contributed by Arvind Prabhakar (harsh) (Revision 1342626)

          Result = SUCCESS
          harsh : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1342626
          Files :

          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestConfiguration.java
          Show
          Hudson added a comment - Integrated in Hadoop-Hdfs-trunk-Commit #2362 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk-Commit/2362/ ) HADOOP-6871 . When the value of a configuration key is set to its unresolved form, it causes an IllegalStateException in Configuration.get() stating that substitution depth is too large. Contributed by Arvind Prabhakar (harsh) (Revision 1342626) Result = SUCCESS harsh : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1342626 Files : /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestConfiguration.java
          Hide
          Hudson added a comment -

          Integrated in Hadoop-Common-trunk-Commit #2289 (See https://builds.apache.org/job/Hadoop-Common-trunk-Commit/2289/)
          HADOOP-6871. When the value of a configuration key is set to its unresolved form, it causes an IllegalStateException in Configuration.get() stating that substitution depth is too large. Contributed by Arvind Prabhakar (harsh) (Revision 1342626)

          Result = SUCCESS
          harsh : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1342626
          Files :

          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestConfiguration.java
          Show
          Hudson added a comment - Integrated in Hadoop-Common-trunk-Commit #2289 (See https://builds.apache.org/job/Hadoop-Common-trunk-Commit/2289/ ) HADOOP-6871 . When the value of a configuration key is set to its unresolved form, it causes an IllegalStateException in Configuration.get() stating that substitution depth is too large. Contributed by Arvind Prabhakar (harsh) (Revision 1342626) Result = SUCCESS harsh : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1342626 Files : /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestConfiguration.java
          Hide
          Hudson added a comment -

          Integrated in Hadoop-Mapreduce-trunk-Commit #2308 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk-Commit/2308/)
          HADOOP-6871. When the value of a configuration key is set to its unresolved form, it causes an IllegalStateException in Configuration.get() stating that substitution depth is too large. Contributed by Arvind Prabhakar (harsh) (Revision 1342626)

          Result = FAILURE
          harsh : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1342626
          Files :

          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestConfiguration.java
          Show
          Hudson added a comment - Integrated in Hadoop-Mapreduce-trunk-Commit #2308 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk-Commit/2308/ ) HADOOP-6871 . When the value of a configuration key is set to its unresolved form, it causes an IllegalStateException in Configuration.get() stating that substitution depth is too large. Contributed by Arvind Prabhakar (harsh) (Revision 1342626) Result = FAILURE harsh : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1342626 Files : /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestConfiguration.java
          Hide
          Hudson added a comment -

          Integrated in Hadoop-Hdfs-trunk #1057 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk/1057/)
          HADOOP-6871. When the value of a configuration key is set to its unresolved form, it causes an IllegalStateException in Configuration.get() stating that substitution depth is too large. Contributed by Arvind Prabhakar (harsh) (Revision 1342626)

          Result = SUCCESS
          harsh : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1342626
          Files :

          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestConfiguration.java
          Show
          Hudson added a comment - Integrated in Hadoop-Hdfs-trunk #1057 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk/1057/ ) HADOOP-6871 . When the value of a configuration key is set to its unresolved form, it causes an IllegalStateException in Configuration.get() stating that substitution depth is too large. Contributed by Arvind Prabhakar (harsh) (Revision 1342626) Result = SUCCESS harsh : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1342626 Files : /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestConfiguration.java
          Hide
          Hudson added a comment -

          Integrated in Hadoop-Mapreduce-trunk #1091 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk/1091/)
          HADOOP-6871. When the value of a configuration key is set to its unresolved form, it causes an IllegalStateException in Configuration.get() stating that substitution depth is too large. Contributed by Arvind Prabhakar (harsh) (Revision 1342626)

          Result = SUCCESS
          harsh : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1342626
          Files :

          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java
          • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestConfiguration.java
          Show
          Hudson added a comment - Integrated in Hadoop-Mapreduce-trunk #1091 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk/1091/ ) HADOOP-6871 . When the value of a configuration key is set to its unresolved form, it causes an IllegalStateException in Configuration.get() stating that substitution depth is too large. Contributed by Arvind Prabhakar (harsh) (Revision 1342626) Result = SUCCESS harsh : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1342626 Files : /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestConfiguration.java
          Hide
          Andrew Wang added a comment -

          We hit an issue during testing involving multiple specifications of the same variable, for which I posted a patch at HADOOP-13699.

          This slims down the cycle detection significantly, and doesn't try to find multi-variable loops. This is because doing this accurately is a lot more work in performance sensitive code, and is overkill for the usecase mentioned here of a variable pointing at itself.

          Please comment over at HADOOP-13699 if you feel differently, thanks!

          Show
          Andrew Wang added a comment - We hit an issue during testing involving multiple specifications of the same variable, for which I posted a patch at HADOOP-13699 . This slims down the cycle detection significantly, and doesn't try to find multi-variable loops. This is because doing this accurately is a lot more work in performance sensitive code, and is overkill for the usecase mentioned here of a variable pointing at itself. Please comment over at HADOOP-13699 if you feel differently, thanks!

            People

            • Assignee:
              Arvind Prabhakar
              Reporter:
              Arvind Prabhakar
            • Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development