You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-issues@hadoop.apache.org by "zhihai xu (JIRA)" <ji...@apache.org> on 2015/07/15 01:37:04 UTC

[jira] [Created] (YARN-3925) ContainerLogsUtils#getContainerLogFile fails to read container log files from full disks.

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)