Jelajahi Sumber

Merge -r 1167330:1167331 from trunk to branch-0.23 to fix MAPREDUCE-2975.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.23@1167332 13f79535-47bb-0310-9956-ffa450edef68
Arun Murthy 13 tahun lalu
induk
melakukan
4cc34c9cdd

+ 3 - 0
hadoop-mapreduce-project/CHANGES.txt

@@ -1246,6 +1246,9 @@ Release 0.23.0 - Unreleased
    MAPREDUCE-2954. Fixed a deadlock in NM caused due to wrong synchronization
    in protocol buffer records. (Siddharth Seth via vinodkv)
 
+   MAPREDUCE-2975. Fixed YARNRunner to use YarnConfiguration rather than
+   Configuration. (mahadev via acmurthy) 
+
 Release 0.22.0 - Unreleased
 
   INCOMPATIBLE CHANGES

+ 5 - 5
hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/main/java/org/apache/hadoop/mapred/YARNRunner.java

@@ -101,18 +101,18 @@ public class YARNRunner implements ClientProtocol {
    * yarn
    * @param conf the configuration object for the client
    */
-  public YARNRunner(Configuration conf) {
-    this(conf, new ResourceMgrDelegate(conf));
+  public YARNRunner(YarnConfiguration conf) {
+   this(conf, new ResourceMgrDelegate(conf));
   }
 
   /**
-   * Similar to {@link #YARNRunner(Configuration)} but allowing injecting 
+   * Similar to {@link #YARNRunner(YarnConfiguration)} but allowing injecting 
    * {@link ResourceMgrDelegate}. Enables mocking and testing.
    * @param conf the configuration object for the client
    * @param resMgrDelegate the resourcemanager client handle.
    */
-  public YARNRunner(Configuration conf, ResourceMgrDelegate resMgrDelegate) {
-    this.conf = new YarnConfiguration(conf);
+  public YARNRunner(YarnConfiguration conf, ResourceMgrDelegate resMgrDelegate) {
+    this.conf = conf;
     try {
       this.resMgrDelegate = resMgrDelegate;
       this.clientCache = new ClientCache(this.conf,

+ 2 - 1
hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/main/java/org/apache/hadoop/mapred/YarnClientProtocolProvider.java

@@ -25,13 +25,14 @@ import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.mapreduce.MRConfig;
 import org.apache.hadoop.mapreduce.protocol.ClientProtocol;
 import org.apache.hadoop.mapreduce.protocol.ClientProtocolProvider;
+import org.apache.hadoop.yarn.conf.YarnConfiguration;
 
 public class YarnClientProtocolProvider extends ClientProtocolProvider {
 
   @Override
   public ClientProtocol create(Configuration conf) throws IOException {
     if ("yarn".equals(conf.get(MRConfig.FRAMEWORK_NAME))) {
-      return new YARNRunner(conf);
+      return new YARNRunner(new YarnConfiguration(conf));
     }
     return null;
   }

+ 3 - 2
hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/v2/TestYARNRunner.java

@@ -45,6 +45,7 @@ import org.apache.hadoop.yarn.api.records.ApplicationId;
 import org.apache.hadoop.yarn.api.records.ApplicationReport;
 import org.apache.hadoop.yarn.api.records.ApplicationState;
 import org.apache.hadoop.yarn.api.records.ApplicationSubmissionContext;
+import org.apache.hadoop.yarn.conf.YarnConfiguration;
 import org.apache.hadoop.yarn.factories.RecordFactory;
 import org.apache.hadoop.yarn.factory.providers.RecordFactoryProvider;
 import org.junit.Before;
@@ -63,7 +64,7 @@ public class TestYARNRunner extends TestCase {
  
   private YARNRunner yarnRunner;
   private ResourceMgrDelegate resourceMgrDelegate;
-  private Configuration conf;
+  private YarnConfiguration conf;
   private ApplicationId appId;
   private JobID jobId;
   private File testWorkDir = 
@@ -74,7 +75,7 @@ public class TestYARNRunner extends TestCase {
   @Before
   public void setUp() throws Exception {
     resourceMgrDelegate = mock(ResourceMgrDelegate.class);
-    conf = new Configuration();
+    conf = new YarnConfiguration();
     yarnRunner = new YARNRunner(conf, resourceMgrDelegate);
     yarnRunner = spy(yarnRunner);
     submissionContext = mock(ApplicationSubmissionContext.class);