You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@slider.apache.org by st...@apache.org on 2015/01/14 17:28:42 UTC
[2/5] incubator-slider git commit: SLIDER-715 REST STOP action...add
queues accessor to state access view of REST API
SLIDER-715 REST STOP action...add queues accessor to state access view of REST API
Project: http://git-wip-us.apache.org/repos/asf/incubator-slider/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-slider/commit/26549461
Tree: http://git-wip-us.apache.org/repos/asf/incubator-slider/tree/26549461
Diff: http://git-wip-us.apache.org/repos/asf/incubator-slider/diff/26549461
Branch: refs/heads/develop
Commit: 2654946180aa4eb6db0fe095f025f2509c446192
Parents: 61855ab
Author: Steve Loughran <st...@apache.org>
Authored: Wed Jan 14 13:57:35 2015 +0000
Committer: Steve Loughran <st...@apache.org>
Committed: Wed Jan 14 16:28:27 2015 +0000
----------------------------------------------------------------------
.../slider/server/appmaster/SliderAppMaster.java | 3 ++-
.../slider/server/appmaster/state/AppState.java | 2 +-
.../appmaster/state/StateAccessForProviders.java | 5 +++++
.../slider/server/appmaster/web/WebAppApi.java | 16 ++++++++++++++++
.../slider/server/appmaster/web/WebAppApiImpl.java | 11 ++++++++++-
.../TestMockAppStateAppRestIntegration.groovy | 2 +-
.../web/view/TestClusterSpecificationBlock.groovy | 2 +-
.../web/view/TestContainerStatsBlock.groovy | 2 +-
.../server/appmaster/web/view/TestIndexBlock.groovy | 2 +-
.../web/rest/agent/TestAMAgentWebServices.java | 3 ++-
.../management/TestAMManagementWebServices.java | 3 ++-
11 files changed, 42 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/26549461/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 06e6c1d..2629a4d 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
@@ -902,7 +902,8 @@ public class SliderAppMaster extends AbstractSliderLaunchedService
providerService,
certificateManager,
registryOperations,
- metricsAndMonitoring);
+ metricsAndMonitoring,
+ actionQueues);
initAMFilterOptions(serviceConf);
// start the agent web app
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/26549461/slider-core/src/main/java/org/apache/slider/server/appmaster/state/AppState.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/server/appmaster/state/AppState.java b/slider-core/src/main/java/org/apache/slider/server/appmaster/state/AppState.java
index f381cde..4b37e14 100644
--- a/slider-core/src/main/java/org/apache/slider/server/appmaster/state/AppState.java
+++ b/slider-core/src/main/java/org/apache/slider/server/appmaster/state/AppState.java
@@ -888,7 +888,7 @@ public class AppState {
}
/**
- * Get a clone of the role status list. Concurrent events may mean this
+ * Get a deep clone of the role status list. Concurrent events may mean this
* list (or indeed, some of the role status entries) may be inconsistent
* @return a snapshot of the role status entries
*/
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/26549461/slider-core/src/main/java/org/apache/slider/server/appmaster/state/StateAccessForProviders.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/server/appmaster/state/StateAccessForProviders.java b/slider-core/src/main/java/org/apache/slider/server/appmaster/state/StateAccessForProviders.java
index 2cbe6b1..057c07b 100644
--- a/slider-core/src/main/java/org/apache/slider/server/appmaster/state/StateAccessForProviders.java
+++ b/slider-core/src/main/java/org/apache/slider/server/appmaster/state/StateAccessForProviders.java
@@ -214,5 +214,10 @@ public interface StateAccessForProviders {
*/
void refreshClusterStatus();
+ /**
+ * Get a deep clone of the role status list. Concurrent events may mean this
+ * list (or indeed, some of the role status entries) may be inconsistent
+ * @return a snapshot of the role status entries
+ */
List<RoleStatus> cloneRoleStatusList();
}
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/26549461/slider-core/src/main/java/org/apache/slider/server/appmaster/web/WebAppApi.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/WebAppApi.java b/slider-core/src/main/java/org/apache/slider/server/appmaster/web/WebAppApi.java
index 6aa24c4..db32e48 100644
--- a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/WebAppApi.java
+++ b/slider-core/src/main/java/org/apache/slider/server/appmaster/web/WebAppApi.java
@@ -19,6 +19,7 @@ package org.apache.slider.server.appmaster.web;
import org.apache.hadoop.registry.client.api.RegistryOperations;
import org.apache.slider.api.SliderClusterProtocol;
import org.apache.slider.providers.ProviderService;
+import org.apache.slider.server.appmaster.actions.QueueAccess;
import org.apache.slider.server.appmaster.management.MetricsAndMonitoring;
import org.apache.slider.server.appmaster.state.AppState;
import org.apache.slider.server.appmaster.state.RoleStatus;
@@ -66,7 +67,22 @@ public interface WebAppApi {
AgentRestOperations getAgentRestOperations();
+ /**
+ * Registry operations accessor
+ * @return registry access
+ */
RegistryOperations getRegistryOperations();
+ /**
+ * Metrics and monitoring service
+ * @return the (singleton) instance
+ */
MetricsAndMonitoring getMetricsAndMonitoring();
+
+ /**
+ * Get the queue accessor
+ * @return the immediate and scheduled queues
+ */
+ QueueAccess getQueues();
+
}
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/26549461/slider-core/src/main/java/org/apache/slider/server/appmaster/web/WebAppApiImpl.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/WebAppApiImpl.java b/slider-core/src/main/java/org/apache/slider/server/appmaster/web/WebAppApiImpl.java
index d5532ea..0597c39 100644
--- a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/WebAppApiImpl.java
+++ b/slider-core/src/main/java/org/apache/slider/server/appmaster/web/WebAppApiImpl.java
@@ -19,6 +19,7 @@ package org.apache.slider.server.appmaster.web;
import org.apache.hadoop.registry.client.api.RegistryOperations;
import org.apache.slider.api.SliderClusterProtocol;
import org.apache.slider.providers.ProviderService;
+import org.apache.slider.server.appmaster.actions.QueueAccess;
import org.apache.slider.server.appmaster.management.MetricsAndMonitoring;
import org.apache.slider.server.appmaster.state.RoleStatus;
import org.apache.slider.server.appmaster.state.StateAccessForProviders;
@@ -45,16 +46,19 @@ public class WebAppApiImpl implements WebAppApi {
protected final CertificateManager certificateManager;
private final RegistryOperations registryOperations;
private final MetricsAndMonitoring metricsAndMonitoring;
+ private final QueueAccess queues;
public WebAppApiImpl(SliderClusterProtocol clusterProto,
StateAccessForProviders appState,
ProviderService provider,
CertificateManager certificateManager,
RegistryOperations registryOperations,
- MetricsAndMonitoring metricsAndMonitoring) {
+ MetricsAndMonitoring metricsAndMonitoring,
+ QueueAccess queues) {
checkNotNull(clusterProto);
checkNotNull(appState);
checkNotNull(provider);
+ this.queues = queues;
this.registryOperations = registryOperations;
this.clusterProto = clusterProto;
@@ -109,4 +113,9 @@ public class WebAppApiImpl implements WebAppApi {
public MetricsAndMonitoring getMetricsAndMonitoring() {
return metricsAndMonitoring;
}
+
+ @Override
+ public QueueAccess getQueues() {
+ return queues;
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/26549461/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/appstate/TestMockAppStateAppRestIntegration.groovy
----------------------------------------------------------------------
diff --git a/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/appstate/TestMockAppStateAppRestIntegration.groovy b/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/appstate/TestMockAppStateAppRestIntegration.groovy
index cf32f33..4672da9 100644
--- a/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/appstate/TestMockAppStateAppRestIntegration.groovy
+++ b/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/appstate/TestMockAppStateAppRestIntegration.groovy
@@ -118,7 +118,7 @@ class TestMockAppStateAppRestIntegration extends BaseMockAppStateTest implements
stateAccess,
new MockProviderService(),
null, null,
- new MetricsAndMonitoring("metrics"))
+ new MetricsAndMonitoring("metrics"), null)
return api
}
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/26549461/slider-core/src/test/groovy/org/apache/slider/server/appmaster/web/view/TestClusterSpecificationBlock.groovy
----------------------------------------------------------------------
diff --git a/slider-core/src/test/groovy/org/apache/slider/server/appmaster/web/view/TestClusterSpecificationBlock.groovy b/slider-core/src/test/groovy/org/apache/slider/server/appmaster/web/view/TestClusterSpecificationBlock.groovy
index 164d93c..7ea5a2a 100644
--- a/slider-core/src/test/groovy/org/apache/slider/server/appmaster/web/view/TestClusterSpecificationBlock.groovy
+++ b/slider-core/src/test/groovy/org/apache/slider/server/appmaster/web/view/TestClusterSpecificationBlock.groovy
@@ -57,7 +57,7 @@ public class TestClusterSpecificationBlock {
providerAppState,
providerService,
null,
- null, null);
+ null, null, null);
Injector injector = Guice.createInjector(new AbstractModule() {
@Override
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/26549461/slider-core/src/test/groovy/org/apache/slider/server/appmaster/web/view/TestContainerStatsBlock.groovy
----------------------------------------------------------------------
diff --git a/slider-core/src/test/groovy/org/apache/slider/server/appmaster/web/view/TestContainerStatsBlock.groovy b/slider-core/src/test/groovy/org/apache/slider/server/appmaster/web/view/TestContainerStatsBlock.groovy
index 669c00e..abd8477 100644
--- a/slider-core/src/test/groovy/org/apache/slider/server/appmaster/web/view/TestContainerStatsBlock.groovy
+++ b/slider-core/src/test/groovy/org/apache/slider/server/appmaster/web/view/TestContainerStatsBlock.groovy
@@ -64,7 +64,7 @@ public class TestContainerStatsBlock extends BaseMockAppStateTest {
providerAppState,
providerService,
null,
- null, metrics);
+ null, metrics, null);
Injector injector = Guice.createInjector(new AbstractModule() {
@Override
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/26549461/slider-core/src/test/groovy/org/apache/slider/server/appmaster/web/view/TestIndexBlock.groovy
----------------------------------------------------------------------
diff --git a/slider-core/src/test/groovy/org/apache/slider/server/appmaster/web/view/TestIndexBlock.groovy b/slider-core/src/test/groovy/org/apache/slider/server/appmaster/web/view/TestIndexBlock.groovy
index 82e36f5..324aa38 100644
--- a/slider-core/src/test/groovy/org/apache/slider/server/appmaster/web/view/TestIndexBlock.groovy
+++ b/slider-core/src/test/groovy/org/apache/slider/server/appmaster/web/view/TestIndexBlock.groovy
@@ -56,7 +56,7 @@ public class TestIndexBlock extends BaseMockAppStateTest {
providerAppState,
providerService,
null,
- null, metrics);
+ null, metrics, null);
Injector injector = Guice.createInjector(new AbstractModule() {
@Override
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/26549461/slider-core/src/test/java/org/apache/slider/server/appmaster/web/rest/agent/TestAMAgentWebServices.java
----------------------------------------------------------------------
diff --git a/slider-core/src/test/java/org/apache/slider/server/appmaster/web/rest/agent/TestAMAgentWebServices.java b/slider-core/src/test/java/org/apache/slider/server/appmaster/web/rest/agent/TestAMAgentWebServices.java
index 12ca949..4aac2f1 100644
--- a/slider-core/src/test/java/org/apache/slider/server/appmaster/web/rest/agent/TestAMAgentWebServices.java
+++ b/slider-core/src/test/java/org/apache/slider/server/appmaster/web/rest/agent/TestAMAgentWebServices.java
@@ -144,7 +144,8 @@ public class TestAMAgentWebServices {
appState);
slider = new WebAppApiImpl(new MockSliderClusterProtocol(), providerAppState,
- new MockProviderService(), null, null, null);
+ new MockProviderService(), null, null, null,
+ null);
MapOperations compOperations = new MapOperations();
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/26549461/slider-core/src/test/java/org/apache/slider/server/appmaster/web/rest/management/TestAMManagementWebServices.java
----------------------------------------------------------------------
diff --git a/slider-core/src/test/java/org/apache/slider/server/appmaster/web/rest/management/TestAMManagementWebServices.java b/slider-core/src/test/java/org/apache/slider/server/appmaster/web/rest/management/TestAMManagementWebServices.java
index 0776afc..f19f8f3 100644
--- a/slider-core/src/test/java/org/apache/slider/server/appmaster/web/rest/management/TestAMManagementWebServices.java
+++ b/slider-core/src/test/java/org/apache/slider/server/appmaster/web/rest/management/TestAMManagementWebServices.java
@@ -192,7 +192,8 @@ public class TestAMManagementWebServices extends JerseyTest {
appState);
slider = new WebAppApiImpl(new MockSliderClusterProtocol(), providerAppState,
- new MockProviderService(), null, null, null);
+ new MockProviderService(), null, null, null,
+ null);
bind(SliderJacksonJaxbJsonProvider.class);
bind(MockSliderAMWebServices.class);