You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@slider.apache.org by go...@apache.org on 2016/03/16 21:57:55 UTC

[04/50] incubator-slider git commit: SLIDER-1052 Deadlock in slider AM

 SLIDER-1052 Deadlock in slider AM


Project: http://git-wip-us.apache.org/repos/asf/incubator-slider/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-slider/commit/136013b7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-slider/tree/136013b7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-slider/diff/136013b7

Branch: refs/heads/feature/SLIDER-906_docker_support
Commit: 136013b7a4c32f8280cdf3a0e670f403c69165a0
Parents: 7e86e9f
Author: Steve Loughran <st...@apache.org>
Authored: Thu Jan 14 13:14:51 2016 -0800
Committer: Steve Loughran <st...@apache.org>
Committed: Thu Jan 14 14:44:01 2016 -0800

----------------------------------------------------------------------
 .../slider/server/appmaster/SliderAppMaster.java    |  2 +-
 .../services/workflow/WorkflowCompositeService.java | 16 ++++++++++++++++
 .../slider/common/tools/TestZKIntegration.groovy    |  2 +-
 3 files changed, 18 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/136013b7/slider-core/src/main/java/org/apache/slider/server/appmaster/SliderAppMaster.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/server/appmaster/SliderAppMaster.java b/slider-core/src/main/java/org/apache/slider/server/appmaster/SliderAppMaster.java
index a01dde9..729d46e 100644
--- a/slider-core/src/main/java/org/apache/slider/server/appmaster/SliderAppMaster.java
+++ b/slider-core/src/main/java/org/apache/slider/server/appmaster/SliderAppMaster.java
@@ -839,7 +839,7 @@ public class SliderAppMaster extends AbstractSliderLaunchedService
           login(principal, localKeytabFile);
           // obtain new FS reference that should be kerberos based and different
           // than the previously cached reference
-          fs = getClusterFS();
+          fs = new SliderFileSystem(serviceConf);
         }
       }
 

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/136013b7/slider-core/src/main/java/org/apache/slider/server/services/workflow/WorkflowCompositeService.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/server/services/workflow/WorkflowCompositeService.java b/slider-core/src/main/java/org/apache/slider/server/services/workflow/WorkflowCompositeService.java
index a7d9545..9c653f3 100644
--- a/slider-core/src/main/java/org/apache/slider/server/services/workflow/WorkflowCompositeService.java
+++ b/slider-core/src/main/java/org/apache/slider/server/services/workflow/WorkflowCompositeService.java
@@ -19,6 +19,7 @@
 package org.apache.slider.server.services.workflow;
 
 import com.google.common.base.Preconditions;
+import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.service.CompositeService;
 import org.apache.hadoop.service.Service;
 import org.apache.hadoop.service.ServiceStateChangeListener;
@@ -46,6 +47,11 @@ public class WorkflowCompositeService extends CompositeService
     LoggerFactory.getLogger(WorkflowCompositeService.class);
 
   /**
+   * Deadlock-avoiding overridden config for slider services; see SLIDER-1052
+   */
+  private volatile Configuration configuration;
+
+  /**
    * Construct an instance
    * @param name name of this service instance
    */
@@ -53,6 +59,16 @@ public class WorkflowCompositeService extends CompositeService
     super(name);
   }
 
+  @Override
+  public Configuration getConfig() {
+    return configuration;
+  }
+
+  @Override
+  protected void setConfig(Configuration conf) {
+    super.setConfig(conf);
+    configuration = conf;
+  }
 
   /**
    * Construct an instance with the default name.

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/136013b7/slider-core/src/test/groovy/org/apache/slider/common/tools/TestZKIntegration.groovy
----------------------------------------------------------------------
diff --git a/slider-core/src/test/groovy/org/apache/slider/common/tools/TestZKIntegration.groovy b/slider-core/src/test/groovy/org/apache/slider/common/tools/TestZKIntegration.groovy
index 1ea9001..7f506b8 100644
--- a/slider-core/src/test/groovy/org/apache/slider/common/tools/TestZKIntegration.groovy
+++ b/slider-core/src/test/groovy/org/apache/slider/common/tools/TestZKIntegration.groovy
@@ -151,7 +151,7 @@ class TestZKIntegration extends YarnZKMiniClusterTestBase implements KeysForTest
     }
 
     @Override
-    public synchronized Configuration getConfig() {
+    public Configuration getConfig() {
       new Configuration();
     }