Rajesh Balamohan created YARN-11039:
---------------------------------------

             Summary: 
LogAggregationFileControllerFactory::getFileControllerForRead should close FS 
                 Key: YARN-11039
                 URL: https://issues.apache.org/jira/browse/YARN-11039
             Project: Hadoop YARN
          Issue Type: Improvement
          Components: log-aggregation
            Reporter: Rajesh Balamohan


getFileControllerForRead::getFileControllerForRead internally opens up a new FS 
object everytime and is not closed.

When cloud connectors (e.g s3a) is used along with Knox, it ends up leaking 
KnoxTokenMonitor for every unclosed FS object causing thread leaks in NM.

Lines of interest:

[https://github.com/apache/hadoop/blob/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileControllerFactory.java#L167]
{noformat}
       try {
          Path remoteAppLogDir = fileController.getOlderRemoteAppLogDir(appId,
              appOwner);
          if (LogAggregationUtils.getNodeFiles(conf, remoteAppLogDir, appId,
              appOwner).hasNext()) {
            return fileController;
          }
        } catch (Exception ex) {
          diagnosticsMsg.append(ex.getMessage() + "\n");
          continue;
        }
{noformat}
[https://github.com/apache/hadoop/blob/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/logaggregation/LogAggregationUtils.java#L252]
{noformat}
        
  public static RemoteIterator<FileStatus> getNodeFiles(Configuration conf,
      Path remoteAppLogDir, ApplicationId appId, String appOwner)
      throws IOException {
    Path qualifiedLogDir =
        FileContext.getFileContext(conf).makeQualified(remoteAppLogDir);
    return FileContext.getFileContext(
        qualifiedLogDir.toUri(), conf).listStatus(remoteAppLogDir);
  }
{noformat}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: yarn-dev-unsubscr...@hadoop.apache.org
For additional commands, e-mail: yarn-dev-h...@hadoop.apache.org

Reply via email to