zhihai xu created YARN-3925:
-------------------------------

             Summary: ContainerLogsUtils#getContainerLogFile fails to read 
container log files from full disks.
                 Key: YARN-3925
                 URL: https://issues.apache.org/jira/browse/YARN-3925
             Project: Hadoop YARN
          Issue Type: Bug
          Components: nodemanager
    Affects Versions: 2.7.1
            Reporter: zhihai xu
            Assignee: zhihai xu
            Priority: Critical


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}}:
{code}
    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()]));
{code}

ContainerLogsUtils#getContainerLogFile is used by NMWebServices#getLogs and 
ContainerLogsPage.ContainersLogsBlock#render to read the log.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to