diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/protocolrecords/impl/pb/GetApplicationAttemptsResponsePBImpl.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/protocolrecords/impl/pb/GetApplicationAttemptsResponsePBImpl.java index b79f425..b03a418 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/protocolrecords/impl/pb/GetApplicationAttemptsResponsePBImpl.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/protocolrecords/impl/pb/GetApplicationAttemptsResponsePBImpl.java @@ -19,6 +19,8 @@ package org.apache.hadoop.yarn.api.protocolrecords.impl.pb; import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; import java.util.Iterator; import java.util.List; @@ -69,6 +71,8 @@ public void setApplicationAttemptList( builder.clearApplicationAttempts(); } this.applicationAttemptList = applicationAttempts; + Collections.sort(this.applicationAttemptList, + new ApplicationAttemptReportComparator()); } public GetApplicationAttemptsResponseProto getProto() { @@ -134,6 +138,8 @@ private void initLocalApplicationAttemptsList() { for (ApplicationAttemptReportProto a : list) { applicationAttemptList.add(convertFromProtoFormat(a)); } + Collections.sort(applicationAttemptList, + new ApplicationAttemptReportComparator()); } private void addLocalApplicationAttemptsToProto() { @@ -183,4 +189,14 @@ private ApplicationAttemptReportProto convertToProtoFormat( return ((ApplicationAttemptReportPBImpl) t).getProto(); } + + private static class ApplicationAttemptReportComparator + implements Comparator { + @Override + public int compare(ApplicationAttemptReport o1, + ApplicationAttemptReport o2) { + return o1.getApplicationAttemptId() + .compareTo(o2.getApplicationAttemptId()); + } + } } diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/protocolrecords/impl/pb/GetApplicationsResponsePBImpl.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/protocolrecords/impl/pb/GetApplicationsResponsePBImpl.java index 453fc89..0065649 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/protocolrecords/impl/pb/GetApplicationsResponsePBImpl.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/protocolrecords/impl/pb/GetApplicationsResponsePBImpl.java @@ -19,6 +19,8 @@ package org.apache.hadoop.yarn.api.protocolrecords.impl.pb; import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; import java.util.Iterator; import java.util.List; @@ -66,6 +68,7 @@ public void setApplicationList(List applications) { if (applications == null) builder.clearApplications(); this.applicationList = applications; + Collections.sort(this.applicationList, new ApplicationReportComparator()); } public GetApplicationsResponseProto getProto() { @@ -129,6 +132,7 @@ private void initLocalApplicationsList() { for (ApplicationReportProto a : list) { applicationList.add(convertFromProtoFormat(a)); } + Collections.sort(applicationList, new ApplicationReportComparator()); } private void addLocalApplicationsToProto() { @@ -173,4 +177,11 @@ private ApplicationReportProto convertToProtoFormat(ApplicationReport t) { return ((ApplicationReportPBImpl)t).getProto(); } + private static class ApplicationReportComparator + implements Comparator { + @Override + public int compare(ApplicationReport o1, ApplicationReport o2) { + return o1.getApplicationId().compareTo(o2.getApplicationId()); + } + } } diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/protocolrecords/impl/pb/GetContainersResponsePBImpl.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/protocolrecords/impl/pb/GetContainersResponsePBImpl.java index 6caec10..dbfb0e5 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/protocolrecords/impl/pb/GetContainersResponsePBImpl.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/protocolrecords/impl/pb/GetContainersResponsePBImpl.java @@ -19,6 +19,8 @@ package org.apache.hadoop.yarn.api.protocolrecords.impl.pb; import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; import java.util.Iterator; import java.util.List; @@ -66,6 +68,7 @@ public void setContainerList(List containers) { builder.clearContainers(); } this.containerList = containers; + Collections.sort(this.containerList, new ContainerReportComparator()); } public GetContainersResponseProto getProto() { @@ -131,6 +134,7 @@ private void initLocalContainerList() { for (ContainerReportProto c : list) { containerList.add(convertFromProtoFormat(c)); } + Collections.sort(containerList, new ContainerReportComparator()); } private void addLocalContainersToProto() { @@ -177,4 +181,11 @@ private ContainerReportProto convertToProtoFormat(ContainerReport t) { return ((ContainerReportPBImpl) t).getProto(); } + private static class ContainerReportComparator + implements Comparator { + @Override + public int compare(ContainerReport o1, ContainerReport o2) { + return o1.getContainerId().compareTo(o2.getContainerId()); + } + } } diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/TestApplicationHistoryClientService.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/TestApplicationHistoryClientService.java index 60027e9..115e58d 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/TestApplicationHistoryClientService.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/TestApplicationHistoryClientService.java @@ -168,7 +168,7 @@ public void testContainers() throws IOException, YarnException { clientService.getClientHandler().getContainers(request); List containers = response.getContainerList(); Assert.assertNotNull(containers); - Assert.assertEquals(containerId, containers.get(1).getContainerId()); - Assert.assertEquals(containerId1, containers.get(0).getContainerId()); + Assert.assertEquals(containerId, containers.get(0).getContainerId()); + Assert.assertEquals(containerId1, containers.get(1).getContainerId()); } }