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 2017/02/14 22:11:11 UTC
incubator-slider git commit: SLIDER-1197 Provide information on
pending allocations, and last allocation time
Repository: incubator-slider
Updated Branches:
refs/heads/develop 548d2939e -> 77c720879
SLIDER-1197 Provide information on pending allocations, and last allocation time
Project: http://git-wip-us.apache.org/repos/asf/incubator-slider/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-slider/commit/77c72087
Tree: http://git-wip-us.apache.org/repos/asf/incubator-slider/tree/77c72087
Diff: http://git-wip-us.apache.org/repos/asf/incubator-slider/diff/77c72087
Branch: refs/heads/develop
Commit: 77c720879a5a3ac3a2d7cc59d8e112afa0b7a4da
Parents: 548d293
Author: Gour Saha <go...@apache.org>
Authored: Tue Feb 14 14:10:55 2017 -0800
Committer: Gour Saha <go...@apache.org>
Committed: Tue Feb 14 14:10:55 2017 -0800
----------------------------------------------------------------------
.../slider/api/types/ApplicationLivenessInformation.java | 5 +++++
.../apache/slider/providers/agent/AgentProviderService.java | 2 ++
.../org/apache/slider/server/appmaster/state/AppState.java | 4 ++++
.../slider/server/appmaster/state/ProviderAppState.java | 6 ++++++
.../server/appmaster/state/StateAccessForProviders.java | 7 +++++++
5 files changed, 24 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/77c72087/slider-core/src/main/java/org/apache/slider/api/types/ApplicationLivenessInformation.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/api/types/ApplicationLivenessInformation.java b/slider-core/src/main/java/org/apache/slider/api/types/ApplicationLivenessInformation.java
index 9879d05..e72bf58 100644
--- a/slider-core/src/main/java/org/apache/slider/api/types/ApplicationLivenessInformation.java
+++ b/slider-core/src/main/java/org/apache/slider/api/types/ApplicationLivenessInformation.java
@@ -39,12 +39,17 @@ public class ApplicationLivenessInformation {
/** number of requests submitted to YARN */
public int activeRequests;
+ /** stores the allocation time of the most recently created container */
+ public long lastAllocationTime;
+
@Override
public String toString() {
final StringBuilder sb =
new StringBuilder("ApplicationLivenessInformation{");
sb.append("allRequestsSatisfied=").append(allRequestsSatisfied);
sb.append(", requestsOutstanding=").append(requestsOutstanding);
+ sb.append(", activeRequests=").append(activeRequests);
+ sb.append(", lastAllocationTime=").append(lastAllocationTime);
sb.append('}');
return sb.toString();
}
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/77c72087/slider-core/src/main/java/org/apache/slider/providers/agent/AgentProviderService.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/providers/agent/AgentProviderService.java b/slider-core/src/main/java/org/apache/slider/providers/agent/AgentProviderService.java
index 4439aac..59b200d 100644
--- a/slider-core/src/main/java/org/apache/slider/providers/agent/AgentProviderService.java
+++ b/slider-core/src/main/java/org/apache/slider/providers/agent/AgentProviderService.java
@@ -1048,6 +1048,8 @@ public class AgentProviderService extends AbstractProviderService implements
if (currentAppVersion == null
|| currentAppVersion.equals(APP_VERSION_UNKNOWN)) {
amState.getOwnedContainer(containerId).appVersion = appVersion;
+ amState.getApplicationDiagnostics()
+ .getContainer(containerId).appVersion = appVersion;
}
}
} catch (NoSuchNodeException e) {
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/77c72087/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 5d588a5..186344d 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
@@ -302,6 +302,8 @@ public class AppState {
private Resource minResource;
private Resource maxResource;
+ private long lastAllocationTime;
+
/**
* Create an instance
* @param recordFactory factory for YARN records
@@ -1499,6 +1501,7 @@ public class AppState {
instance);
}
instance.startTime = now();
+ this.lastAllocationTime = instance.startTime;
RoleInstance starting = getStartingContainers().remove(containerId);
if (null == starting) {
throw new YarnRuntimeException(
@@ -1925,6 +1928,7 @@ public class AppState {
li.requestsOutstanding = outstanding;
li.allRequestsSatisfied = outstanding <= 0;
li.activeRequests = (int)stats.requested;
+ li.lastAllocationTime = this.lastAllocationTime;
return li;
}
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/77c72087/slider-core/src/main/java/org/apache/slider/server/appmaster/state/ProviderAppState.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/server/appmaster/state/ProviderAppState.java b/slider-core/src/main/java/org/apache/slider/server/appmaster/state/ProviderAppState.java
index 37e9a7f..5cebdea 100644
--- a/slider-core/src/main/java/org/apache/slider/server/appmaster/state/ProviderAppState.java
+++ b/slider-core/src/main/java/org/apache/slider/server/appmaster/state/ProviderAppState.java
@@ -23,6 +23,7 @@ import org.apache.hadoop.yarn.api.records.ContainerId;
import org.apache.hadoop.yarn.exceptions.YarnRuntimeException;
import org.apache.slider.api.ClusterDescription;
import org.apache.slider.api.ClusterNode;
+import org.apache.slider.api.types.ApplicationDiagnostics;
import org.apache.slider.api.types.ApplicationLivenessInformation;
import org.apache.slider.api.types.ComponentInformation;
import org.apache.slider.api.types.NodeInformation;
@@ -304,4 +305,9 @@ public class ProviderAppState implements StateAccessForProviders {
public RoleStatistics getRoleStatistics() {
return appState.getRoleStatistics();
}
+
+ @Override
+ public ApplicationDiagnostics getApplicationDiagnostics() {
+ return appState.getApplicationDiagnostics();
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/77c72087/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 ad91183..1764d63 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
@@ -24,6 +24,7 @@ import org.apache.hadoop.yarn.exceptions.YarnRuntimeException;
import org.apache.slider.api.ClusterDescription;
import org.apache.slider.api.ClusterNode;
import org.apache.slider.api.StatusKeys;
+import org.apache.slider.api.types.ApplicationDiagnostics;
import org.apache.slider.api.types.ApplicationLivenessInformation;
import org.apache.slider.api.types.ComponentInformation;
import org.apache.slider.api.types.NodeInformation;
@@ -310,4 +311,10 @@ public interface StateAccessForProviders {
* @return role statistics
*/
RoleStatistics getRoleStatistics();
+
+ /**
+ * Get application diagnostics for all containers.
+ * @return application diagnostics
+ */
+ ApplicationDiagnostics getApplicationDiagnostics();
}