YARN-6520. Fix warnings from Spotbugs in hadoop-yarn-client. Contributed by Weiwei Yang.
This commit is contained in:
parent
0f1af3178e
commit
64f68cb0b8
|
@ -367,9 +367,13 @@ public class YarnClientImpl extends YarnClient {
|
|||
if (timelineClient == null) {
|
||||
synchronized (this) {
|
||||
if (timelineClient == null) {
|
||||
timelineClient = createTimelineClient();
|
||||
timelineClient.init(getConfig());
|
||||
timelineClient.start();
|
||||
TimelineClient tlClient = createTimelineClient();
|
||||
tlClient.init(getConfig());
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -963,48 +963,38 @@ public class LogsCLI extends Configured implements Tool {
|
|||
request.setNodeId(nodeId);
|
||||
request.setContainerState(report.getContainerState());
|
||||
} catch (IOException | YarnException ex) {
|
||||
if (isAppFinished) {
|
||||
return printContainerLogsForFinishedApplicationWithoutNodeId(
|
||||
request, logCliHelper, useRegex);
|
||||
nodeHttpAddress = getNodeHttpAddressFromRMWebString(request);
|
||||
if (nodeHttpAddress != null && !nodeHttpAddress.isEmpty()) {
|
||||
request.setNodeHttpAddress(nodeHttpAddress);
|
||||
} else {
|
||||
nodeHttpAddress = getNodeHttpAddressFromRMWebString(request);
|
||||
if (nodeHttpAddress != null && !nodeHttpAddress.isEmpty()) {
|
||||
request.setNodeHttpAddress(nodeHttpAddress);
|
||||
// for the case, we have already uploaded partial logs in HDFS
|
||||
int result = -1;
|
||||
if (nodeAddress != null && !nodeAddress.isEmpty()) {
|
||||
result = printAggregatedContainerLogs(request,
|
||||
logCliHelper, useRegex);
|
||||
} else {
|
||||
// for the case, we have already uploaded partial logs in HDFS
|
||||
int result = -1;
|
||||
if (nodeAddress != null && !nodeAddress.isEmpty()) {
|
||||
result = printAggregatedContainerLogs(
|
||||
request, logCliHelper, useRegex);
|
||||
} else {
|
||||
result = printAggregatedContainerLogsWithoutNodeId(
|
||||
request, logCliHelper, useRegex);
|
||||
}
|
||||
if (result == -1) {
|
||||
System.err.println("Unable to get logs for this container:"
|
||||
+ containerIdStr + " for the application:" + appIdStr
|
||||
+ " with the appOwner: " + appOwner);
|
||||
System.err.println("The application: " + appIdStr
|
||||
+ " is still running, and we can not get Container report "
|
||||
+ "for the container: " + containerIdStr +". Please try later "
|
||||
+ "or after the application finishes.");
|
||||
}
|
||||
return result;
|
||||
result = printAggregatedContainerLogsWithoutNodeId(request,
|
||||
logCliHelper,
|
||||
useRegex);
|
||||
}
|
||||
if (result == -1) {
|
||||
System.err.println(
|
||||
"Unable to get logs for this container:"
|
||||
+ containerIdStr + " for the application:"
|
||||
+ appIdStr + " with the appOwner: " + appOwner);
|
||||
System.err.println("The application: " + appIdStr
|
||||
+ " is still running, and we can not get Container report "
|
||||
+ "for the container: " + containerIdStr + ". Please try later "
|
||||
+ "or after the application finishes.");
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
// If the application is not in the final state,
|
||||
// we will provide the NodeHttpAddress and get the container logs
|
||||
// by calling NodeManager webservice.
|
||||
if (!isAppFinished) {
|
||||
resultCode = printContainerLogsFromRunningApplication(getConf(), request,
|
||||
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);
|
||||
}
|
||||
resultCode = printContainerLogsFromRunningApplication(getConf(), request,
|
||||
logCliHelper, useRegex);
|
||||
return resultCode;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue