MAPREDUCE-4169. Container Logs appear in unsorted order (Jonathan Eagles via bobby)
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1331012 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
4b62c68292
commit
cda16311a9
@ -412,6 +412,9 @@ Release 0.23.3 - UNRELEASED
|
|||||||
MAPREDUCE-3613. web service calls header contains 2 content types
|
MAPREDUCE-3613. web service calls header contains 2 content types
|
||||||
(tgraves)
|
(tgraves)
|
||||||
|
|
||||||
|
MAPREDUCE-4169. Container Logs appear in unsorted order (Jonathan Eagles
|
||||||
|
via bobby)
|
||||||
|
|
||||||
Release 0.23.2 - UNRELEASED
|
Release 0.23.2 - UNRELEASED
|
||||||
|
|
||||||
INCOMPATIBLE CHANGES
|
INCOMPATIBLE CHANGES
|
||||||
|
@ -29,6 +29,9 @@
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.Writer;
|
import java.io.Writer;
|
||||||
import java.security.PrivilegedExceptionAction;
|
import java.security.PrivilegedExceptionAction;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -112,8 +115,11 @@ public static class LogValue {
|
|||||||
// the entire k-v format
|
// the entire k-v format
|
||||||
|
|
||||||
public LogValue(List<String> rootLogDirs, ContainerId containerId) {
|
public LogValue(List<String> rootLogDirs, ContainerId containerId) {
|
||||||
this.rootLogDirs = rootLogDirs;
|
this.rootLogDirs = new ArrayList<String>(rootLogDirs);
|
||||||
this.containerId = containerId;
|
this.containerId = containerId;
|
||||||
|
|
||||||
|
// Ensure logs are processed in lexical order
|
||||||
|
Collections.sort(this.rootLogDirs);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void write(DataOutputStream out) throws IOException {
|
public void write(DataOutputStream out) throws IOException {
|
||||||
@ -131,7 +137,10 @@ public void write(DataOutputStream out) throws IOException {
|
|||||||
continue; // ContainerDir may have been deleted by the user.
|
continue; // ContainerDir may have been deleted by the user.
|
||||||
}
|
}
|
||||||
|
|
||||||
for (File logFile : containerLogDir.listFiles()) {
|
// Write out log files in lexical order
|
||||||
|
File[] logFiles = containerLogDir.listFiles();
|
||||||
|
Arrays.sort(logFiles);
|
||||||
|
for (File logFile : logFiles) {
|
||||||
|
|
||||||
// Write the logFile Type
|
// Write the logFile Type
|
||||||
out.writeUTF(logFile.getName());
|
out.writeUTF(logFile.getName());
|
||||||
|
@ -30,6 +30,8 @@
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStreamReader;
|
import java.io.InputStreamReader;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -269,12 +271,15 @@ private void printLogs(Block html, ContainerId containerId,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Just print out the log-types
|
// Print out log types in lexical order
|
||||||
List<File> containerLogsDirs = getContainerLogDirs(containerId,
|
List<File> containerLogsDirs = getContainerLogDirs(containerId,
|
||||||
dirsHandler);
|
dirsHandler);
|
||||||
|
Collections.sort(containerLogsDirs);
|
||||||
boolean foundLogFile = false;
|
boolean foundLogFile = false;
|
||||||
for (File containerLogsDir : containerLogsDirs) {
|
for (File containerLogsDir : containerLogsDirs) {
|
||||||
for (File logFile : containerLogsDir.listFiles()) {
|
File[] logFiles = containerLogsDir.listFiles();
|
||||||
|
Arrays.sort(logFiles);
|
||||||
|
for (File logFile : logFiles) {
|
||||||
foundLogFile = true;
|
foundLogFile = true;
|
||||||
html.p()
|
html.p()
|
||||||
.a(url("containerlogs", $(CONTAINER_ID), $(APP_OWNER),
|
.a(url("containerlogs", $(CONTAINER_ID), $(APP_OWNER),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user