diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt index fe829a49f4..ce56f0d517 100644 --- a/hadoop-yarn-project/CHANGES.txt +++ b/hadoop-yarn-project/CHANGES.txt @@ -789,6 +789,9 @@ Release 2.6.0 - UNRELEASED YARN-2741. Made NM web UI serve logs on the drive other than C: on Windows. (Craig Welch via zjshen) + YARN-2747. Fixed the test failure of TestAggregatedLogFormat when native I/O is + enabled. (Xuan Gong via zjshen) + Release 2.5.1 - 2014-09-05 INCOMPATIBLE CHANGES diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/logaggregation/TestAggregatedLogFormat.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/logaggregation/TestAggregatedLogFormat.java index 1d607b1572..bc0485ed4b 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/logaggregation/TestAggregatedLogFormat.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/logaggregation/TestAggregatedLogFormat.java @@ -305,6 +305,8 @@ public void testContainerLogsFileAccess() throws IOException { // It is trying simulate a situation where first log file is owned by // different user (probably symlink) and second one by the user itself. + // The first file should not be aggregated. Because this log file has the invalid + // user name. when(logValue.getUser()).thenReturn(randomUser).thenReturn( ugi.getShortUserName()); logWriter.append(logKey, logValue); @@ -329,6 +331,9 @@ public void testContainerLogsFileAccess() throws IOException { expectedOwner = adminsGroupString; } } + + // This file: stderr should not be aggregated. + // And we will not aggregate the log message. String stdoutFile1 = StringUtils.join( File.separator, @@ -336,10 +341,8 @@ public void testContainerLogsFileAccess() throws IOException { workDir.getAbsolutePath(), "srcFiles", testContainerId1.getApplicationAttemptId().getApplicationId() .toString(), testContainerId1.toString(), stderr })); - String message1 = - "Owner '" + expectedOwner + "' for path " + stdoutFile1 - + " did not match expected owner '" + randomUser + "'"; - + + // The file: stdout is expected to be aggregated. String stdoutFile2 = StringUtils.join( File.separator, @@ -352,7 +355,6 @@ public void testContainerLogsFileAccess() throws IOException { + stdoutFile2 + " did not match expected owner '" + ugi.getShortUserName() + "'"; - Assert.assertTrue(line.contains(message1)); Assert.assertFalse(line.contains(message2)); Assert.assertFalse(line.contains(data + testContainerId1.toString() + stderr));