Updated Branches: refs/heads/trunk 5ca0c22d4 -> 1f835e74a
AMBARI-3583 - Requests API should rollup tasks information Project: http://git-wip-us.apache.org/repos/asf/incubator-ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ambari/commit/1f835e74 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ambari/tree/1f835e74 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ambari/diff/1f835e74 Branch: refs/heads/trunk Commit: 1f835e74a844dc84554058c168670e4b282e7a82 Parents: 5ca0c22 Author: tbeerbower <[email protected]> Authored: Wed Oct 30 10:58:08 2013 -0400 Committer: tbeerbower <[email protected]> Committed: Wed Oct 30 11:14:31 2013 -0400 ---------------------------------------------------------------------- .../internal/RequestResourceProvider.java | 5 +++- .../internal/RequestResourceProviderTest.java | 31 ++++++-------------- 2 files changed, 13 insertions(+), 23 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/1f835e74/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestResourceProvider.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestResourceProvider.java index b6b03b4..58d8311 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestResourceProvider.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestResourceProvider.java @@ -213,6 +213,7 @@ class RequestResourceProvider extends AbstractControllerResourceProvider { int taskCount = commands.size(); int completedTaskCount = 0; int queuedTaskCount = 0; + int pendingTaskCount = 0; int failedTaskCount = 0; int abortedTaskCount = 0; int timedOutTaskCount = 0; @@ -235,10 +236,12 @@ class RequestResourceProvider extends AbstractControllerResourceProvider { } } else if (status.equals(HostRoleStatus.QUEUED)) { queuedTaskCount++; + } else if (status.equals(HostRoleStatus.PENDING)) { + pendingTaskCount++; } } - int inProgressTaskCount = taskCount - completedTaskCount - queuedTaskCount; + int inProgressTaskCount = taskCount - completedTaskCount - queuedTaskCount - pendingTaskCount; // determine request status HostRoleStatus requestStatus = failedTaskCount > 0 ? HostRoleStatus.FAILED : http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/1f835e74/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RequestResourceProviderTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RequestResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RequestResourceProviderTest.java index a613a0e..b453934 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RequestResourceProviderTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RequestResourceProviderTest.java @@ -322,7 +322,7 @@ public class RequestResourceProviderTest { expect(hostRoleCommand2.getRequestId()).andReturn(101L).anyTimes(); expect(hostRoleCommand3.getRequestId()).andReturn(101L).anyTimes(); expect(hostRoleCommand0.getStatus()).andReturn(HostRoleStatus.IN_PROGRESS).anyTimes(); - expect(hostRoleCommand1.getStatus()).andReturn(HostRoleStatus.COMPLETED).anyTimes(); + expect(hostRoleCommand1.getStatus()).andReturn(HostRoleStatus.PENDING).anyTimes(); expect(hostRoleCommand2.getStatus()).andReturn(HostRoleStatus.IN_PROGRESS).anyTimes(); expect(hostRoleCommand3.getStatus()).andReturn(HostRoleStatus.QUEUED).anyTimes(); @@ -342,6 +342,7 @@ public class RequestResourceProviderTest { propertyIds.add(RequestResourceProvider.REQUEST_TASK_CNT_ID); propertyIds.add(RequestResourceProvider.REQUEST_COMPLETED_TASK_CNT_ID); propertyIds.add(RequestResourceProvider.REQUEST_FAILED_TASK_CNT_ID); + propertyIds.add(RequestResourceProvider.REQUEST_QUEUED_TASK_CNT_ID); propertyIds.add(RequestResourceProvider.REQUEST_PROGRESS_PERCENT_ID); Predicate predicate = new PredicateBuilder().property(RequestResourceProvider.REQUEST_ID_PROPERTY_ID).equals("100").or(). @@ -358,12 +359,15 @@ public class RequestResourceProviderTest { Assert.assertEquals(0, resource.getPropertyValue(RequestResourceProvider.REQUEST_FAILED_TASK_CNT_ID)); if (id == 100L) { - Assert.assertEquals(1, resource.getPropertyValue(RequestResourceProvider.REQUEST_COMPLETED_TASK_CNT_ID)); - Assert.assertEquals(67.5, resource.getPropertyValue(RequestResourceProvider.REQUEST_PROGRESS_PERCENT_ID)); + Assert.assertEquals(0, resource.getPropertyValue(RequestResourceProvider.REQUEST_QUEUED_TASK_CNT_ID)); + int progressPercent = ((Double) resource.getPropertyValue(RequestResourceProvider.REQUEST_PROGRESS_PERCENT_ID)).intValue(); + Assert.assertEquals(17, progressPercent); } else { - Assert.assertEquals(0, resource.getPropertyValue(RequestResourceProvider.REQUEST_COMPLETED_TASK_CNT_ID)); - Assert.assertEquals(21.999999999999996, resource.getPropertyValue(RequestResourceProvider.REQUEST_PROGRESS_PERCENT_ID)); + Assert.assertEquals(1, resource.getPropertyValue(RequestResourceProvider.REQUEST_QUEUED_TASK_CNT_ID)); + int progressPercent = ((Double) resource.getPropertyValue(RequestResourceProvider.REQUEST_PROGRESS_PERCENT_ID)).intValue(); + Assert.assertEquals(21, progressPercent); } + Assert.assertEquals(0, resource.getPropertyValue(RequestResourceProvider.REQUEST_COMPLETED_TASK_CNT_ID)); } // verify @@ -525,21 +529,4 @@ public class RequestResourceProviderTest { // verify verify(managementController); } - -// public static RequestResourceProvider getServiceProvider(AmbariManagementController managementController) { -// Resource.Type type = Resource.Type.Request; -// -// return (RequestResourceProvider) AbstractControllerResourceProvider.getResourceProvider( -// type, -// PropertyHelper.getPropertyIds(type), -// PropertyHelper.getKeyPropertyIds(type), -// managementController); -// } -// -// public static Set<RequestStatusResponse> getRequestStatus( -// AmbariManagementController controller, RequestStatusRequest request) -// throws AmbariException { -// RequestResourceProvider provider = getServiceProvider(controller); -// return provider.getRequestStatus(request); -// } }
