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();
}