Skip to content

Commit 1b5182b

Browse files
author
slfan1989
committed
YARN-11442. Fix CheckStyle.
1 parent d4bff69 commit 1b5182b

File tree

1 file changed

+20
-46
lines changed
  • hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/main/java/org/apache/hadoop/yarn/server/router/webapp

1 file changed

+20
-46
lines changed

hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/main/java/org/apache/hadoop/yarn/server/router/webapp/FederationInterceptorREST.java

Lines changed: 20 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,12 @@
2929
import java.util.Map;
3030
import java.util.Map.Entry;
3131
import java.util.Set;
32-
import java.util.concurrent.Callable;
3332
import java.util.concurrent.CompletionService;
3433
import java.util.concurrent.ExecutorCompletionService;
3534
import java.util.concurrent.ExecutorService;
3635
import java.util.concurrent.Future;
3736
import java.util.concurrent.TimeUnit;
37+
import java.util.stream.Collectors;
3838
import java.util.stream.Stream;
3939

4040
import javax.servlet.http.HttpServletRequest;
@@ -711,63 +711,37 @@ public AppsInfo getApps(HttpServletRequest hsr, String stateQuery,
711711
AppsInfo apps = new AppsInfo();
712712
long startTime = clock.getTime();
713713

714-
Map<SubClusterId, SubClusterInfo> subClustersActive = null;
715-
try {
716-
subClustersActive = federationFacade.getSubClusters(true);
717-
} catch (YarnException e) {
718-
routerMetrics.incrMultipleAppsFailedRetrieved();
719-
return null;
720-
}
721-
722-
// Send the requests in parallel
723-
CompletionService<AppsInfo> compSvc =
724-
new ExecutorCompletionService<>(this.threadpool);
725-
726714
// HttpServletRequest does not work with ExecutorCompletionService.
727715
// Create a duplicate hsr.
728716
final HttpServletRequest hsrCopy = clone(hsr);
717+
Collection<SubClusterInfo> subClusterInfos = federationFacade.getActiveSubClusters();
729718

730-
731-
732-
for (final SubClusterInfo info : subClustersActive.values()) {
733-
compSvc.submit(new Callable<AppsInfo>() {
734-
@Override
735-
public AppsInfo call() {
719+
List<AppsInfo> appsInfos = subClusterInfos.parallelStream().map(subClusterInfo -> {
720+
try {
736721
DefaultRequestInterceptorREST interceptor =
737-
getOrCreateInterceptorForSubCluster(
738-
info.getSubClusterId(), info.getRMWebServiceAddress());
722+
getOrCreateInterceptorForSubCluster(subClusterInfo);
739723
AppsInfo rmApps = interceptor.getApps(hsrCopy, stateQuery,
740724
statesQuery, finalStatusQuery, userQuery, queueQuery, count,
741725
startedBegin, startedEnd, finishBegin, finishEnd,
742726
applicationTypes, applicationTags, name, unselectedFields);
743-
744-
if (rmApps == null) {
745-
routerMetrics.incrMultipleAppsFailedRetrieved();
746-
LOG.error("Subcluster {} failed to return appReport.", info.getSubClusterId());
747-
return null;
727+
if (rmApps != null) {
728+
return rmApps;
748729
}
749-
return rmApps;
750-
}
751-
});
752-
}
753-
754-
// Collect all the responses in parallel
755-
for (int i = 0; i < subClustersActive.size(); i++) {
756-
try {
757-
Future<AppsInfo> future = compSvc.take();
758-
AppsInfo appsResponse = future.get();
759-
760-
long stopTime = clock.getTime();
761-
routerMetrics.succeededMultipleAppsRetrieved(stopTime - startTime);
762-
763-
if (appsResponse != null) {
764-
apps.addAll(appsResponse.getApps());
730+
} catch (Exception e) {
731+
LOG.warn("Failed to get application report.", e);
765732
}
766-
} catch (Throwable e) {
767733
routerMetrics.incrMultipleAppsFailedRetrieved();
768-
LOG.warn("Failed to get application report", e);
769-
}
770-
}
734+
LOG.error("Subcluster {} failed to return appReport.", subClusterInfo.getSubClusterId());
735+
return null;
736+
}).collect(Collectors.toList());
737+
738+
appsInfos.forEach(appsInfo -> {
739+
if (appsInfo != null) {
740+
apps.addAll(appsInfo.getApps());
741+
long stopTime = clock.getTime();
742+
routerMetrics.succeededMultipleAppsRetrieved(stopTime - startTime);
743+
}
744+
});
771745

772746
if (apps.getApps().isEmpty()) {
773747
return null;

0 commit comments

Comments
 (0)