Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
2.7.1
-
None
-
Reviewed
Description
ContainerLogsUtils#getContainerLogFile fails to read files from full disks.
getContainerLogFile depends on LocalDirsHandlerService#getLogPathToRead to get the log file, but LocalDirsHandlerService#getLogPathToRead calls logDirsAllocator.getLocalPathToRead and logDirsAllocator uses configuration YarnConfiguration.NM_LOG_DIRS, which will be updated to not include full disks in LocalDirsHandlerService#checkDirs:
Configuration conf = getConfig(); List<String> localDirs = getLocalDirs(); conf.setStrings(YarnConfiguration.NM_LOCAL_DIRS, localDirs.toArray(new String[localDirs.size()])); List<String> logDirs = getLogDirs(); conf.setStrings(YarnConfiguration.NM_LOG_DIRS, logDirs.toArray(new String[logDirs.size()]));
ContainerLogsUtils#getContainerLogFile is used by NMWebServices#getLogs and ContainerLogsPage.ContainersLogsBlock#render to read the log.
Attachments
Attachments
Issue Links
- is related to
-
HADOOP-12252 LocalDirAllocator should not throw NPE with empty string configuration.
- Resolved