diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/cli/TestLogsCLI.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/cli/TestLogsCLI.java index eef92b1..a17862e 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/cli/TestLogsCLI.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/cli/TestLogsCLI.java @@ -366,6 +366,7 @@ public ContainerReport getContainerReport(String containerIdStr) int exitCode = cli.run(new String[] { "-applicationId", appId.toString() }); assertTrue(exitCode == 0); + assertTrue(sysOutStream.toString().contains("FileName:syslog")); assertTrue(sysOutStream.toString().contains( logMessage(containerId1, "syslog"))); assertTrue(sysOutStream.toString().contains( @@ -374,8 +375,10 @@ public ContainerReport getContainerReport(String containerIdStr) logMessage(containerId3, "syslog"))); assertTrue(sysOutStream.toString().contains( logMessage(containerId3, "stdout"))); + assertTrue(sysOutStream.toString().contains("FileName:stdout")); assertTrue(sysOutStream.toString().contains( logMessage(containerId3, "stdout1234"))); + assertTrue(sysOutStream.toString().contains("FileName:stdout1234")); sysOutStream.reset(); exitCode = cli.run(new String[] {"-applicationId", appId.toString(), @@ -402,6 +405,7 @@ public ContainerReport getContainerReport(String containerIdStr) logMessage(containerId2, "syslog"))); assertTrue(sysOutStream.toString().contains( logMessage(containerId3, "syslog"))); + assertTrue(sysOutStream.toString().contains("FileName:stdout")); assertTrue(sysOutStream.toString().contains( logMessage(containerId3, "stdout"))); assertTrue(sysOutStream.toString().contains( diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/logaggregation/AggregatedLogFormat.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/logaggregation/AggregatedLogFormat.java index d45f5fb..cec3c47 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/logaggregation/AggregatedLogFormat.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/logaggregation/AggregatedLogFormat.java @@ -71,7 +71,6 @@ import org.apache.hadoop.yarn.api.records.LogAggregationContext; import org.apache.hadoop.yarn.conf.YarnConfiguration; import org.apache.hadoop.yarn.exceptions.YarnRuntimeException; -import org.apache.hadoop.yarn.util.ConverterUtils; import org.apache.hadoop.yarn.util.Times; import com.google.common.annotations.VisibleForTesting; @@ -776,7 +775,7 @@ private static void readContainerLogs(DataInputStream valueStream, String fileType = valueStream.readUTF(); String fileLengthStr = valueStream.readUTF(); long fileLength = Long.parseLong(fileLengthStr); - out.print("LogType:"); + out.print("FileName:"); out.println(fileType); if (logUploadedTime != -1) { out.print("Log Upload Time:"); @@ -820,7 +819,7 @@ private static void readContainerLogs(DataInputStream valueStream, } org.apache.hadoop.io.IOUtils.skipFully( valueStream, skipAfterRead); - out.println("\nEnd of LogType:" + fileType); + out.println("\nEnd of LogFile:" + fileType); out.println(""); } @@ -903,7 +902,7 @@ public static int readContainerLogsForALogType( String fileLengthStr = valueStream.readUTF(); long fileLength = Long.parseLong(fileLengthStr); if (logType.contains(fileType)) { - out.print("LogType:"); + out.print("FileName:"); out.println(fileType); if (logUploadedTime != -1) { out.print("Log Upload Time:"); @@ -945,7 +944,7 @@ public static int readContainerLogsForALogType( } org.apache.hadoop.io.IOUtils.skipFully( valueStream, skipAfterRead); - out.println("\nEnd of LogType:" + fileType); + out.println("\nEnd of LogFile:" + fileType); out.println(""); return 0; } else { diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/webapp/AHSWebServices.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/webapp/AHSWebServices.java index 54d880d..ec7dab6 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/webapp/AHSWebServices.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/webapp/AHSWebServices.java @@ -501,8 +501,8 @@ public void write(OutputStream os) throws IOException, boolean findLogs = LogToolUtils.outputAggregatedContainerLog(conf, appId, appOwner, containerIdStr, nodeId, logFile, bytes, os, buf); if (!findLogs) { - throw new IOException("Can not find logs for container:" - + containerIdStr); + os.write(("Can not find logs for container:" + + containerIdStr).getBytes(Charset.forName("UTF-8"))); } else { if (printEmptyLocalContainerLog) { StringBuilder sb = new StringBuilder();