YARN-6520. Fix warnings from Spotbugs in hadoop-yarn-client. Contributed by Weiwei Yang.

This commit is contained in:
Naganarasimha 2017-05-01 18:38:22 +05:30
parent 0f1af3178e
commit 64f68cb0b8
2 changed files with 31 additions and 37 deletions

View File

@ -367,9 +367,13 @@ public class YarnClientImpl extends YarnClient {
if (timelineClient == null) { if (timelineClient == null) {
synchronized (this) { synchronized (this) {
if (timelineClient == null) { if (timelineClient == null) {
timelineClient = createTimelineClient(); TimelineClient tlClient = createTimelineClient();
timelineClient.init(getConfig()); tlClient.init(getConfig());
timelineClient.start(); tlClient.start();
// Assign value to timeline client variable only
// when it is fully initiated. In order to avoid
// other threads to see partially initialized object.
this.timelineClient = tlClient;
} }
} }
} }

View File

@ -963,10 +963,6 @@ public class LogsCLI extends Configured implements Tool {
request.setNodeId(nodeId); request.setNodeId(nodeId);
request.setContainerState(report.getContainerState()); request.setContainerState(report.getContainerState());
} catch (IOException | YarnException ex) { } catch (IOException | YarnException ex) {
if (isAppFinished) {
return printContainerLogsForFinishedApplicationWithoutNodeId(
request, logCliHelper, useRegex);
} else {
nodeHttpAddress = getNodeHttpAddressFromRMWebString(request); nodeHttpAddress = getNodeHttpAddressFromRMWebString(request);
if (nodeHttpAddress != null && !nodeHttpAddress.isEmpty()) { if (nodeHttpAddress != null && !nodeHttpAddress.isEmpty()) {
request.setNodeHttpAddress(nodeHttpAddress); request.setNodeHttpAddress(nodeHttpAddress);
@ -974,16 +970,18 @@ public class LogsCLI extends Configured implements Tool {
// for the case, we have already uploaded partial logs in HDFS // for the case, we have already uploaded partial logs in HDFS
int result = -1; int result = -1;
if (nodeAddress != null && !nodeAddress.isEmpty()) { if (nodeAddress != null && !nodeAddress.isEmpty()) {
result = printAggregatedContainerLogs( result = printAggregatedContainerLogs(request,
request, logCliHelper, useRegex); logCliHelper, useRegex);
} else { } else {
result = printAggregatedContainerLogsWithoutNodeId( result = printAggregatedContainerLogsWithoutNodeId(request,
request, logCliHelper, useRegex); logCliHelper,
useRegex);
} }
if (result == -1) { if (result == -1) {
System.err.println("Unable to get logs for this container:" System.err.println(
+ containerIdStr + " for the application:" + appIdStr "Unable to get logs for this container:"
+ " with the appOwner: " + appOwner); + containerIdStr + " for the application:"
+ appIdStr + " with the appOwner: " + appOwner);
System.err.println("The application: " + appIdStr System.err.println("The application: " + appIdStr
+ " is still running, and we can not get Container report " + " is still running, and we can not get Container report "
+ "for the container: " + containerIdStr + ". Please try later " + "for the container: " + containerIdStr + ". Please try later "
@ -992,19 +990,11 @@ public class LogsCLI extends Configured implements Tool {
return result; return result;
} }
} }
}
// If the application is not in the final state, // If the application is not in the final state,
// we will provide the NodeHttpAddress and get the container logs // we will provide the NodeHttpAddress and get the container logs
// by calling NodeManager webservice. // by calling NodeManager webservice.
if (!isAppFinished) {
resultCode = printContainerLogsFromRunningApplication(getConf(), request, resultCode = printContainerLogsFromRunningApplication(getConf(), request,
logCliHelper, useRegex); logCliHelper, useRegex);
} else {
// If the application is in the final state, we will directly
// get the container logs from HDFS.
resultCode = printContainerLogsForFinishedApplication(
request, logCliHelper, useRegex);
}
return resultCode; return resultCode;
} }