Hadoop Map/Reduce
  1. Hadoop Map/Reduce
  2. MAPREDUCE-4105

Yarn RackResolver ignores rack configurations

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.23.1
    • Fix Version/s: 2.0.0-alpha
    • Component/s: mrv2
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      Incorrect mappings because the Yarn RackResolver ignores rack configurations. This can be verified by inspecting the resource manager web ui that lists all the nodes, all of them show up with /default-rack regardless of the output from the script specified using net.topology.script.file.name configuration property.

      1. MAPREDUCE-4105.patch
        6 kB
        Ahmed Radwan
      2. MAPREDUCE-4105_rev3.patch
        5 kB
        Ahmed Radwan
      3. MAPREDUCE-4105_rev2.patch
        7 kB
        Ahmed Radwan

        Activity

        Hide
        Hudson added a comment -

        Integrated in Hadoop-Mapreduce-trunk #1045 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk/1045/)
        MAPREDUCE-4105. Yarn RackResolver ignores rack configurations. Contributed by Ahmed Radwan. (Revision 1311520)

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

        • /hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt
        • /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/RackResolver.java
        • /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestRackResolver.java
        • /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestRackResolverScriptBasedMapping.java
        Show
        Hudson added a comment - Integrated in Hadoop-Mapreduce-trunk #1045 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk/1045/ ) MAPREDUCE-4105 . Yarn RackResolver ignores rack configurations. Contributed by Ahmed Radwan. (Revision 1311520) Result = SUCCESS tomwhite : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1311520 Files : /hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/RackResolver.java /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestRackResolver.java /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestRackResolverScriptBasedMapping.java
        Hide
        Hudson added a comment -

        Integrated in Hadoop-Hdfs-trunk #1010 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk/1010/)
        MAPREDUCE-4105. Yarn RackResolver ignores rack configurations. Contributed by Ahmed Radwan. (Revision 1311520)

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

        • /hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt
        • /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/RackResolver.java
        • /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestRackResolver.java
        • /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestRackResolverScriptBasedMapping.java
        Show
        Hudson added a comment - Integrated in Hadoop-Hdfs-trunk #1010 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk/1010/ ) MAPREDUCE-4105 . Yarn RackResolver ignores rack configurations. Contributed by Ahmed Radwan. (Revision 1311520) Result = FAILURE tomwhite : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1311520 Files : /hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/RackResolver.java /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestRackResolver.java /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestRackResolverScriptBasedMapping.java
        Hide
        Hudson added a comment -

        Integrated in Hadoop-Hdfs-trunk-Commit #2107 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk-Commit/2107/)
        MAPREDUCE-4105. Yarn RackResolver ignores rack configurations. Contributed by Ahmed Radwan. (Revision 1311520)

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

        • /hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt
        • /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/RackResolver.java
        • /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestRackResolver.java
        • /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestRackResolverScriptBasedMapping.java
        Show
        Hudson added a comment - Integrated in Hadoop-Hdfs-trunk-Commit #2107 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk-Commit/2107/ ) MAPREDUCE-4105 . Yarn RackResolver ignores rack configurations. Contributed by Ahmed Radwan. (Revision 1311520) Result = SUCCESS tomwhite : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1311520 Files : /hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/RackResolver.java /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestRackResolver.java /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestRackResolverScriptBasedMapping.java
        Hide
        Hudson added a comment -

        Integrated in Hadoop-Common-trunk-Commit #2032 (See https://builds.apache.org/job/Hadoop-Common-trunk-Commit/2032/)
        MAPREDUCE-4105. Yarn RackResolver ignores rack configurations. Contributed by Ahmed Radwan. (Revision 1311520)

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

        • /hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt
        • /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/RackResolver.java
        • /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestRackResolver.java
        • /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestRackResolverScriptBasedMapping.java
        Show
        Hudson added a comment - Integrated in Hadoop-Common-trunk-Commit #2032 (See https://builds.apache.org/job/Hadoop-Common-trunk-Commit/2032/ ) MAPREDUCE-4105 . Yarn RackResolver ignores rack configurations. Contributed by Ahmed Radwan. (Revision 1311520) Result = SUCCESS tomwhite : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1311520 Files : /hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/RackResolver.java /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestRackResolver.java /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestRackResolverScriptBasedMapping.java
        Hide
        Hudson added a comment -

        Integrated in Hadoop-Mapreduce-trunk-Commit #2043 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk-Commit/2043/)
        MAPREDUCE-4105. Yarn RackResolver ignores rack configurations. Contributed by Ahmed Radwan. (Revision 1311520)

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

        • /hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt
        • /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/RackResolver.java
        • /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestRackResolver.java
        • /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestRackResolverScriptBasedMapping.java
        Show
        Hudson added a comment - Integrated in Hadoop-Mapreduce-trunk-Commit #2043 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk-Commit/2043/ ) MAPREDUCE-4105 . Yarn RackResolver ignores rack configurations. Contributed by Ahmed Radwan. (Revision 1311520) Result = SUCCESS tomwhite : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1311520 Files : /hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/RackResolver.java /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestRackResolver.java /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestRackResolverScriptBasedMapping.java
        Hide
        Tom White added a comment -

        I've just committed this. Thanks Ahmed!

        Show
        Tom White added a comment - I've just committed this. Thanks Ahmed!
        Hide
        Tom White added a comment -

        +1 thanks for addressing my comments, Ahmed.

        Show
        Tom White added a comment - +1 thanks for addressing my comments, Ahmed.
        Hide
        Ahmed Radwan added a comment -

        The test failures reported by jenkins above doesn't seem to be related to this patch. Thanks!

        Show
        Ahmed Radwan added a comment - The test failures reported by jenkins above doesn't seem to be related to this patch. Thanks!
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12521782/MAPREDUCE-4105_rev3.patch
        against trunk revision .

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

        +1 tests included. The patch appears to include 2 new or modified test files.

        +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.yarn.server.resourcemanager.TestClientRMService
        org.apache.hadoop.yarn.server.resourcemanager.resourcetracker.TestNMExpiry
        org.apache.hadoop.yarn.server.resourcemanager.TestAMAuthorization
        org.apache.hadoop.yarn.server.resourcemanager.TestApplicationACLs

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

        Test results: https://builds.apache.org/job/PreCommit-MAPREDUCE-Build/2170//testReport/
        Console output: https://builds.apache.org/job/PreCommit-MAPREDUCE-Build/2170//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/12521782/MAPREDUCE-4105_rev3.patch against trunk revision . +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 2 new or modified test files. +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.yarn.server.resourcemanager.TestClientRMService org.apache.hadoop.yarn.server.resourcemanager.resourcetracker.TestNMExpiry org.apache.hadoop.yarn.server.resourcemanager.TestAMAuthorization org.apache.hadoop.yarn.server.resourcemanager.TestApplicationACLs +1 contrib tests. The patch passed contrib unit tests. Test results: https://builds.apache.org/job/PreCommit-MAPREDUCE-Build/2170//testReport/ Console output: https://builds.apache.org/job/PreCommit-MAPREDUCE-Build/2170//console This message is automatically generated.
        Hide
        Ahmed Radwan added a comment -

        I see, so you want to use ReflectionUtils instead. Got it, please see updated patch accordingly. Thanks!

        Show
        Ahmed Radwan added a comment - I see, so you want to use ReflectionUtils instead. Got it, please see updated patch accordingly. Thanks!
        Hide
        Tom White added a comment -

        See my comment above about using ReflectionUtils.newInstance.

        Show
        Tom White added a comment - See my comment above about using ReflectionUtils.newInstance.
        Hide
        Ahmed Radwan added a comment -

        I see your point and agree that ScriptBasedMapping is configurable because it has The AbstractDNSToSwitchMapping as a superclass which implements both DNSToSwitchMapping and Configurable interfaces.

        But the RackResolver uses the DNSToSwitchMapping interface to create the new DNSToSwitchMapping:

        Constructor<? extends DNSToSwitchMapping> dnsToSwitchMappingConstructor
                               = dnsToSwitchMappingClass.getConstructor();
        DNSToSwitchMapping newInstance =
            dnsToSwitchMappingConstructor.newInstance();
        

        This is why I needed to add the setConf() method to the DNSSwitchMapping interface to just keep using the interface instead of tying RackResolver to a specific implementation of this interface. Alternatively I can make DNSToSwitchMapping extends Configurable (which will require adding the getConf() method to a couple of places). What do you think?

        Show
        Ahmed Radwan added a comment - I see your point and agree that ScriptBasedMapping is configurable because it has The AbstractDNSToSwitchMapping as a superclass which implements both DNSToSwitchMapping and Configurable interfaces. But the RackResolver uses the DNSToSwitchMapping interface to create the new DNSToSwitchMapping: Constructor<? extends DNSToSwitchMapping> dnsToSwitchMappingConstructor = dnsToSwitchMappingClass.getConstructor(); DNSToSwitchMapping newInstance = dnsToSwitchMappingConstructor.newInstance(); This is why I needed to add the setConf() method to the DNSSwitchMapping interface to just keep using the interface instead of tying RackResolver to a specific implementation of this interface. Alternatively I can make DNSToSwitchMapping extends Configurable (which will require adding the getConf() method to a couple of places). What do you think?
        Hide
        Tom White added a comment -

        Running each test in a separate JVM solves the problem, so it's not an issue, but in general I'd rather avoid the use of static state in a class like this.

        The latest patch still has a change to DNSToSwitchMapping, which I think is unnecessary.

        Show
        Tom White added a comment - Running each test in a separate JVM solves the problem, so it's not an issue, but in general I'd rather avoid the use of static state in a class like this. The latest patch still has a change to DNSToSwitchMapping, which I think is unnecessary.
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12521770/MAPREDUCE-4105_rev2.patch
        against trunk revision .

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

        +1 tests included. The patch appears to include 4 new or modified test files.

        -1 patch. The patch command could not apply the patch.

        Console output: https://builds.apache.org/job/PreCommit-MAPREDUCE-Build/2169//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/12521770/MAPREDUCE-4105_rev2.patch against trunk revision . +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 4 new or modified test files. -1 patch. The patch command could not apply the patch. Console output: https://builds.apache.org/job/PreCommit-MAPREDUCE-Build/2169//console This message is automatically generated.
        Hide
        Ahmed Radwan added a comment -

        Thanks Tom!

        I have updated the patch per your comments. Regarding the static state of the RackResolver, I can see that the main hadoop-project/pom.xml has <forkMode>always</forkMode> as part of surefire configuration, which means that each test class will have separate jvm. So this shouldn't be an issue, what so you think? I think having such stateful RackResolver might be advantageous in prevent changing the mappings, etc within the same jvm, so we can leave it as long as tests are fine.

        Show
        Ahmed Radwan added a comment - Thanks Tom! I have updated the patch per your comments. Regarding the static state of the RackResolver, I can see that the main hadoop-project/pom.xml has <forkMode>always</forkMode> as part of surefire configuration, which means that each test class will have separate jvm. So this shouldn't be an issue, what so you think? I think having such stateful RackResolver might be advantageous in prevent changing the mappings, etc within the same jvm, so we can leave it as long as tests are fine.
        Hide
        Tom White added a comment -

        > The test checks that setConf() is called by inspecting the script filename is correct (which is passed through the conf).

        I see. RackResolver.getDnsToSwitchMapping() is a new method that is just used by the test. Generally it's not a good idea to add things that are only used by tests, but maybe a getter is harmless. You could make it package private though and add a comment saying it is for tests, or add @VisibleForTesting.

        > The reason for adding a new test class is that RackResolver.init() is a static method, and it checks if it was called before and returns.

        The fact that RackResolver has static state is a deeper problem, which putting the test into another class doesn't solve. What if TestRackResolver runs before TestRackResolverScriptBasedMapping? Can we make RackResolver non-static?

        > DNSToSwitchMapping is not Configurable.

        No, but ScriptBasedMapping is. You don't need to change the DNSToSwitchMapping interface.

        Show
        Tom White added a comment - > The test checks that setConf() is called by inspecting the script filename is correct (which is passed through the conf). I see. RackResolver.getDnsToSwitchMapping() is a new method that is just used by the test. Generally it's not a good idea to add things that are only used by tests, but maybe a getter is harmless. You could make it package private though and add a comment saying it is for tests, or add @VisibleForTesting. > The reason for adding a new test class is that RackResolver.init() is a static method, and it checks if it was called before and returns. The fact that RackResolver has static state is a deeper problem, which putting the test into another class doesn't solve. What if TestRackResolver runs before TestRackResolverScriptBasedMapping? Can we make RackResolver non-static? > DNSToSwitchMapping is not Configurable. No, but ScriptBasedMapping is. You don't need to change the DNSToSwitchMapping interface.
        Hide
        Ahmed Radwan added a comment -

        Thanks Tom for reviewing this!

        The test checks that setConf() is called by inspecting the script filename is correct (which is passed through the conf). So, this way we check that the conf is passed and also that the script name is correct in the same time.

        The reason for adding a new test class is that RackResolver.init() is a static method, and it checks if it was called before and returns. So when I added a new test method to the existing TestRackResolver what happened is that the NET_TOPOLOGY_NODE_SWITCH_MAPPING_IMPL_KEY class get set by the test method that initializes the RackResolver first. What we want is a different initialization using ScriptBasedMapping.class.

        DNSToSwitchMapping is not Configurable.

        Show
        Ahmed Radwan added a comment - Thanks Tom for reviewing this! The test checks that setConf() is called by inspecting the script filename is correct (which is passed through the conf). So, this way we check that the conf is passed and also that the script name is correct in the same time. The reason for adding a new test class is that RackResolver.init() is a static method, and it checks if it was called before and returns. So when I added a new test method to the existing TestRackResolver what happened is that the NET_TOPOLOGY_NODE_SWITCH_MAPPING_IMPL_KEY class get set by the test method that initializes the RackResolver first. What we want is a different initialization using ScriptBasedMapping.class. DNSToSwitchMapping is not Configurable.
        Hide
        Tom White added a comment -

        Is the bug that setConf() isn't being called on DNSToSwitchMapping? The new test doesn't actually test that case. (The test could go in TestRackResolver - it doesn't need a new test class - and could pass in a mock DNSToSwitchMapping that checks that its setConf() is called.) Rather than adding a new method to the DNSToSwitchMapping interface, can you use ReflectionUtils.newInstance? This will take care of calling setConf() if the DNSToSwitchMapping implements Configurable.

        Show
        Tom White added a comment - Is the bug that setConf() isn't being called on DNSToSwitchMapping? The new test doesn't actually test that case. (The test could go in TestRackResolver - it doesn't need a new test class - and could pass in a mock DNSToSwitchMapping that checks that its setConf() is called.) Rather than adding a new method to the DNSToSwitchMapping interface, can you use ReflectionUtils.newInstance? This will take care of calling setConf() if the DNSToSwitchMapping implements Configurable.
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12521446/MAPREDUCE-4105.patch
        against trunk revision .

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

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

        -1 patch. The patch command could not apply the patch.

        Console output: https://builds.apache.org/job/PreCommit-MAPREDUCE-Build/2150//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/12521446/MAPREDUCE-4105.patch against trunk revision . +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 11 new or modified tests. -1 patch. The patch command could not apply the patch. Console output: https://builds.apache.org/job/PreCommit-MAPREDUCE-Build/2150//console This message is automatically generated.
        Hide
        Ahmed Radwan added a comment -

        Attaching a patch. Basically the problem is that RackResolver.java when initialized, it doesn't set the conf for the created dnsToSwitchMapping object. So the ScriptBasedMapping doesn't find the scriptName.

        I have also added a a testcase to the patch and also manually verified that the web ui is now showing the correct mappings.

        Show
        Ahmed Radwan added a comment - Attaching a patch. Basically the problem is that RackResolver.java when initialized, it doesn't set the conf for the created dnsToSwitchMapping object. So the ScriptBasedMapping doesn't find the scriptName. I have also added a a testcase to the patch and also manually verified that the web ui is now showing the correct mappings.

          People

          • Assignee:
            Ahmed Radwan
            Reporter:
            Ahmed Radwan
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development