<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!-- NewPage --> <html lang="en"> <head> <!-- Generated by javadoc (1.8.0_362) on Tue Feb 14 11:59:47 UTC 2023 --> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>LogAggregationFileController (Apache Hadoop Main 3.4.0-SNAPSHOT API)</title> <meta name="date" content="2023-02-14"> <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style"> <script type="text/javascript" src="../../../../../../script.js"></script> </head> <body> <script type="text/javascript"><!-- try { if (location.href.indexOf('is-external=true') == -1) { parent.document.title="LogAggregationFileController (Apache Hadoop Main 3.4.0-SNAPSHOT API)"; } } catch(err) { } //--> var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":6,"i6":10,"i7":10,"i8":6,"i9":10,"i10":6,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":6,"i22":6,"i23":10,"i24":6,"i25":6,"i26":6,"i27":6,"i28":10,"i29":6}; var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]}; var altColor = "altColor"; var rowColor = "rowColor"; var tableTab = "tableTab"; var activeTableTab = "activeTableTab"; </script> <noscript> <div>JavaScript is disabled on your browser.</div> </noscript> <!-- ========= START OF TOP NAVBAR ======= --> <div class="topNav"><a name="navbar.top"> <!-- --> </a> <div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div> <a name="navbar.top.firstrow"> <!-- --> </a> <ul class="navList" title="Navigation"> <li><a href="../../../../../../overview-summary.html">Overview</a></li> <li><a href="package-summary.html">Package</a></li> <li class="navBarCell1Rev">Class</li> <li><a href="class-use/LogAggregationFileController.html">Use</a></li> <li><a href="package-tree.html">Tree</a></li> <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li> <li><a href="../../../../../../index-all.html">Index</a></li> <li><a href="../../../../../../help-doc.html">Help</a></li> </ul> </div> <div class="subNav"> <ul class="navList"> <li>Prev Class</li> <li>Next Class</li> </ul> <ul class="navList"> <li><a href="../../../../../../index.html?org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html" target="_top">Frames</a></li> <li><a href="LogAggregationFileController.html" target="_top">No Frames</a></li> </ul> <ul class="navList" id="allclasses_navbar_top"> <li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li> </ul> <div> <script type="text/javascript"><!-- allClassesLink = document.getElementById("allclasses_navbar_top"); if(window==top) { allClassesLink.style.display = "block"; } else { allClassesLink.style.display = "none"; } //--> </script> </div> <div> <ul class="subNavList"> <li>Summary: </li> <li>Nested | </li> <li><a href="#field.summary">Field</a> | </li> <li><a href="#constructor.summary">Constr</a> | </li> <li><a href="#method.summary">Method</a></li> </ul> <ul class="subNavList"> <li>Detail: </li> <li><a href="#field.detail">Field</a> | </li> <li><a href="#constructor.detail">Constr</a> | </li> <li><a href="#method.detail">Method</a></li> </ul> </div> <a name="skip.navbar.top"> <!-- --> </a></div> <!-- ========= END OF TOP NAVBAR ========= --> <!-- ======== START OF CLASS DATA ======== --> <div class="header"> <div class="subTitle">org.apache.hadoop.yarn.logaggregation.filecontroller</div> <h2 title="Class LogAggregationFileController" class="title">Class LogAggregationFileController</h2> </div> <div class="contentContainer"> <ul class="inheritance"> <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li> <li> <ul class="inheritance"> <li>org.apache.hadoop.yarn.logaggregation.filecontroller.LogAggregationFileController</li> </ul> </li> </ul> <div class="description"> <ul class="blockList"> <li class="blockList"> <hr> <br> <pre>@InterfaceAudience.Public @InterfaceStability.Unstable public abstract class <span class="typeNameLabel">LogAggregationFileController</span> extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre> <div class="block">Base class to implement Log Aggregation File Controller.</div> </li> </ul> </div> <div class="summary"> <ul class="blockList"> <li class="blockList"> <!-- =========== FIELD SUMMARY =========== --> <ul class="blockList"> <li class="blockList"><a name="field.summary"> <!-- --> </a> <h3>Field Summary</h3> <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation"> <caption><span>Fields</span><span class="tabEnd"> </span></caption> <tr> <th class="colFirst" scope="col">Modifier and Type</th> <th class="colLast" scope="col">Field and Description</th> </tr> <tr class="altColor"> <td class="colFirst"><code>protected static <a href="../../../../../../org/apache/hadoop/fs/permission/FsPermission.html" title="class in org.apache.hadoop.fs.permission">FsPermission</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#APP_DIR_PERMISSIONS">APP_DIR_PERMISSIONS</a></span></code> <div class="block">Permissions for the Application directory.</div> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>protected static <a href="../../../../../../org/apache/hadoop/fs/permission/FsPermission.html" title="class in org.apache.hadoop.fs.permission">FsPermission</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#APP_LOG_FILE_UMASK">APP_LOG_FILE_UMASK</a></span></code> <div class="block">Umask for the log file.</div> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/conf/Configuration.html" title="class in org.apache.hadoop.conf">Configuration</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#conf">conf</a></span></code> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#fileControllerName">fileControllerName</a></span></code> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>protected boolean</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#fsSupportsChmod">fsSupportsChmod</a></span></code> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/fs/Path.html" title="class in org.apache.hadoop.fs">Path</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#remoteRootLogDir">remoteRootLogDir</a></span></code> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#remoteRootLogDirSuffix">remoteRootLogDirSuffix</a></span></code> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>protected int</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#retentionSize">retentionSize</a></span></code> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>protected static <a href="../../../../../../org/apache/hadoop/fs/permission/FsPermission.html" title="class in org.apache.hadoop.fs.permission">FsPermission</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#TLDIR_PERMISSIONS">TLDIR_PERMISSIONS</a></span></code> <div class="block">Permissions for the top level directory under which app directories will be created.</div> </td> </tr> </table> </li> </ul> <!-- ======== CONSTRUCTOR SUMMARY ======== --> <ul class="blockList"> <li class="blockList"><a name="constructor.summary"> <!-- --> </a> <h3>Constructor Summary</h3> <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation"> <caption><span>Constructors</span><span class="tabEnd"> </span></caption> <tr> <th class="colOne" scope="col">Constructor and Description</th> </tr> <tr class="altColor"> <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#LogAggregationFileController--">LogAggregationFileController</a></span>()</code> </td> </tr> </table> </li> </ul> <!-- ========== METHOD SUMMARY =========== --> <ul class="blockList"> <li class="blockList"><a name="method.summary"> <!-- --> </a> <h3>Method Summary</h3> <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation"> <caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption> <tr> <th class="colFirst" scope="col">Modifier and Type</th> <th class="colLast" scope="col">Method and Description</th> </tr> <tr id="i0" class="altColor"> <td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#aggregatedLogSuffix-java.lang.String-">aggregatedLogSuffix</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> fileName)</code> <div class="block">Create the aggregated log suffix.</div> </td> </tr> <tr id="i1" class="rowColor"> <td class="colFirst"><code>protected boolean</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#belongsToAppAttempt-org.apache.hadoop.yarn.api.records.ApplicationAttemptId-java.lang.String-">belongsToAppAttempt</a></span>(<a href="../../../../../../org/apache/hadoop/yarn/api/records/ApplicationAttemptId.html" title="class in org.apache.hadoop.yarn.api.records">ApplicationAttemptId</a> appAttemptId, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> containerIdStr)</code> </td> </tr> <tr id="i2" class="altColor"> <td class="colFirst"><code>protected boolean</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#checkExists-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.permission.FsPermission-">checkExists</a></span>(<a href="../../../../../../org/apache/hadoop/fs/FileSystem.html" title="class in org.apache.hadoop.fs">FileSystem</a> fs, <a href="../../../../../../org/apache/hadoop/fs/Path.html" title="class in org.apache.hadoop.fs">Path</a> path, <a href="../../../../../../org/apache/hadoop/fs/permission/FsPermission.html" title="class in org.apache.hadoop.fs.permission">FsPermission</a> fsPerm)</code> </td> </tr> <tr id="i3" class="rowColor"> <td class="colFirst"><code>protected void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#cleanOldLogs-org.apache.hadoop.fs.Path-org.apache.hadoop.yarn.api.records.NodeId-org.apache.hadoop.security.UserGroupInformation-">cleanOldLogs</a></span>(<a href="../../../../../../org/apache/hadoop/fs/Path.html" title="class in org.apache.hadoop.fs">Path</a> remoteNodeLogFileForApp, <a href="../../../../../../org/apache/hadoop/yarn/api/records/NodeId.html" title="class in org.apache.hadoop.yarn.api.records">NodeId</a> nodeId, <a href="../../../../../../org/apache/hadoop/security/UserGroupInformation.html" title="class in org.apache.hadoop.security">UserGroupInformation</a> userUgi)</code> </td> </tr> <tr id="i4" class="altColor"> <td class="colFirst"><code>protected void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#closePrintStream-java.io.OutputStream-">closePrintStream</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a> out)</code> </td> </tr> <tr id="i5" class="rowColor"> <td class="colFirst"><code>abstract void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#closeWriter--">closeWriter</a></span>()</code> <div class="block">Close the writer.</div> </td> </tr> <tr id="i6" class="altColor"> <td class="colFirst"><code>void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#createAppDir-java.lang.String-org.apache.hadoop.yarn.api.records.ApplicationId-org.apache.hadoop.security.UserGroupInformation-">createAppDir</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> user, <a href="../../../../../../org/apache/hadoop/yarn/api/records/ApplicationId.html" title="class in org.apache.hadoop.yarn.api.records">ApplicationId</a> appId, <a href="../../../../../../org/apache/hadoop/security/UserGroupInformation.html" title="class in org.apache.hadoop.security">UserGroupInformation</a> userUgi)</code> <div class="block">Create remote Application directory for log aggregation.</div> </td> </tr> <tr id="i7" class="rowColor"> <td class="colFirst"><code>protected void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#createDir-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.permission.FsPermission-">createDir</a></span>(<a href="../../../../../../org/apache/hadoop/fs/FileSystem.html" title="class in org.apache.hadoop.fs">FileSystem</a> fs, <a href="../../../../../../org/apache/hadoop/fs/Path.html" title="class in org.apache.hadoop.fs">Path</a> path, <a href="../../../../../../org/apache/hadoop/fs/permission/FsPermission.html" title="class in org.apache.hadoop.fs.permission">FsPermission</a> fsPerm)</code> </td> </tr> <tr id="i8" class="altColor"> <td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="../../../../../../org/apache/hadoop/yarn/api/records/ApplicationAccessType.html" title="enum in org.apache.hadoop.yarn.api.records">ApplicationAccessType</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#getApplicationAcls-org.apache.hadoop.fs.Path-org.apache.hadoop.yarn.api.records.ApplicationId-">getApplicationAcls</a></span>(<a href="../../../../../../org/apache/hadoop/fs/Path.html" title="class in org.apache.hadoop.fs">Path</a> aggregatedLogPath, <a href="../../../../../../org/apache/hadoop/yarn/api/records/ApplicationId.html" title="class in org.apache.hadoop.yarn.api.records">ApplicationId</a> appId)</code> <div class="block">Returns ACLs for the application.</div> </td> </tr> <tr id="i9" class="rowColor"> <td class="colFirst"><code>org.apache.hadoop.fs.RemoteIterator<<a href="../../../../../../org/apache/hadoop/fs/FileStatus.html" title="class in org.apache.hadoop.fs">FileStatus</a>></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#getApplicationDirectoriesOfUser-java.lang.String-">getApplicationDirectoriesOfUser</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> user)</code> <div class="block">Gets all application directories of a user.</div> </td> </tr> <tr id="i10" class="altColor"> <td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#getApplicationOwner-org.apache.hadoop.fs.Path-org.apache.hadoop.yarn.api.records.ApplicationId-">getApplicationOwner</a></span>(<a href="../../../../../../org/apache/hadoop/fs/Path.html" title="class in org.apache.hadoop.fs">Path</a> aggregatedLogPath, <a href="../../../../../../org/apache/hadoop/yarn/api/records/ApplicationId.html" title="class in org.apache.hadoop.yarn.api.records">ApplicationId</a> appId)</code> <div class="block">Returns the owner of the application.</div> </td> </tr> <tr id="i11" class="rowColor"> <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#getFileControllerName--">getFileControllerName</a></span>()</code> <div class="block">Get the name of the file controller.</div> </td> </tr> <tr id="i12" class="altColor"> <td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/fs/FileSystem.html" title="class in org.apache.hadoop.fs">FileSystem</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#getFileSystem-org.apache.hadoop.conf.Configuration-">getFileSystem</a></span>(<a href="../../../../../../org/apache/hadoop/conf/Configuration.html" title="class in org.apache.hadoop.conf">Configuration</a> conf)</code> </td> </tr> <tr id="i13" class="rowColor"> <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><org.apache.hadoop.yarn.logaggregation.ContainerLogFileInfo>></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#getLogMetaFilesOfNode-org.apache.hadoop.yarn.logaggregation.ExtendedLogMetaRequest-org.apache.hadoop.fs.FileStatus-org.apache.hadoop.yarn.api.records.ApplicationId-">getLogMetaFilesOfNode</a></span>(org.apache.hadoop.yarn.logaggregation.ExtendedLogMetaRequest logRequest, <a href="../../../../../../org/apache/hadoop/fs/FileStatus.html" title="class in org.apache.hadoop.fs">FileStatus</a> currentNodeFile, <a href="../../../../../../org/apache/hadoop/yarn/api/records/ApplicationId.html" title="class in org.apache.hadoop.yarn.api.records">ApplicationId</a> appId)</code> <div class="block">Returns log file metadata for a node grouped by containers.</div> </td> </tr> <tr id="i14" class="altColor"> <td class="colFirst"><code>org.apache.hadoop.fs.RemoteIterator<<a href="../../../../../../org/apache/hadoop/fs/FileStatus.html" title="class in org.apache.hadoop.fs">FileStatus</a>></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#getNodeFilesOfApplicationDirectory-org.apache.hadoop.fs.FileStatus-">getNodeFilesOfApplicationDirectory</a></span>(<a href="../../../../../../org/apache/hadoop/fs/FileStatus.html" title="class in org.apache.hadoop.fs">FileStatus</a> appDir)</code> <div class="block">Gets all node files in an application directory.</div> </td> </tr> <tr id="i15" class="rowColor"> <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/fs/Path.html" title="class in org.apache.hadoop.fs">Path</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#getOlderRemoteAppLogDir-org.apache.hadoop.yarn.api.records.ApplicationId-java.lang.String-">getOlderRemoteAppLogDir</a></span>(<a href="../../../../../../org/apache/hadoop/yarn/api/records/ApplicationId.html" title="class in org.apache.hadoop.yarn.api.records">ApplicationId</a> appId, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> appOwner)</code> <div class="block">Get the older remote application directory for log aggregation.</div> </td> </tr> <tr id="i16" class="altColor"> <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/fs/Path.html" title="class in org.apache.hadoop.fs">Path</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#getRemoteAppLogDir-org.apache.hadoop.yarn.api.records.ApplicationId-java.lang.String-">getRemoteAppLogDir</a></span>(<a href="../../../../../../org/apache/hadoop/yarn/api/records/ApplicationId.html" title="class in org.apache.hadoop.yarn.api.records">ApplicationId</a> appId, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> appOwner)</code> <div class="block">Get the remote application directory for log aggregation.</div> </td> </tr> <tr id="i17" class="rowColor"> <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/fs/Path.html" title="class in org.apache.hadoop.fs">Path</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#getRemoteNodeLogFileForApp-org.apache.hadoop.yarn.api.records.ApplicationId-java.lang.String-org.apache.hadoop.yarn.api.records.NodeId-">getRemoteNodeLogFileForApp</a></span>(<a href="../../../../../../org/apache/hadoop/yarn/api/records/ApplicationId.html" title="class in org.apache.hadoop.yarn.api.records">ApplicationId</a> appId, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> user, <a href="../../../../../../org/apache/hadoop/yarn/api/records/NodeId.html" title="class in org.apache.hadoop.yarn.api.records">NodeId</a> nodeId)</code> <div class="block">Get the remote aggregated log path.</div> </td> </tr> <tr id="i18" class="altColor"> <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/fs/Path.html" title="class in org.apache.hadoop.fs">Path</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#getRemoteRootLogDir--">getRemoteRootLogDir</a></span>()</code> <div class="block">Get the remote root log directory.</div> </td> </tr> <tr id="i19" class="rowColor"> <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#getRemoteRootLogDirSuffix--">getRemoteRootLogDirSuffix</a></span>()</code> <div class="block">Get the log aggregation directory suffix.</div> </td> </tr> <tr id="i20" class="altColor"> <td class="colFirst"><code>void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#initialize-org.apache.hadoop.conf.Configuration-java.lang.String-">initialize</a></span>(<a href="../../../../../../org/apache/hadoop/conf/Configuration.html" title="class in org.apache.hadoop.conf">Configuration</a> conf, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> controllerName)</code> <div class="block">Initialize the log file controller.</div> </td> </tr> <tr id="i21" class="rowColor"> <td class="colFirst"><code>abstract void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#initializeWriter-org.apache.hadoop.yarn.logaggregation.filecontroller.LogAggregationFileControllerContext-">initializeWriter</a></span>(org.apache.hadoop.yarn.logaggregation.filecontroller.LogAggregationFileControllerContext context)</code> <div class="block">Initialize the writer.</div> </td> </tr> <tr id="i22" class="altColor"> <td class="colFirst"><code>protected abstract void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#initInternal-org.apache.hadoop.conf.Configuration-">initInternal</a></span>(<a href="../../../../../../org/apache/hadoop/conf/Configuration.html" title="class in org.apache.hadoop.conf">Configuration</a> conf)</code> <div class="block">Derived classes initialize themselves using this method.</div> </td> </tr> <tr id="i23" class="rowColor"> <td class="colFirst"><code>boolean</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#isFsSupportsChmod--">isFsSupportsChmod</a></span>()</code> </td> </tr> <tr id="i24" class="altColor"> <td class="colFirst"><code>abstract void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#postWrite-org.apache.hadoop.yarn.logaggregation.filecontroller.LogAggregationFileControllerContext-">postWrite</a></span>(org.apache.hadoop.yarn.logaggregation.filecontroller.LogAggregationFileControllerContext record)</code> <div class="block">Operations needed after write the log content.</div> </td> </tr> <tr id="i25" class="rowColor"> <td class="colFirst"><code>abstract boolean</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#readAggregatedLogs-org.apache.hadoop.yarn.logaggregation.ContainerLogsRequest-java.io.OutputStream-">readAggregatedLogs</a></span>(org.apache.hadoop.yarn.logaggregation.ContainerLogsRequest logRequest, <a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a> os)</code> <div class="block">Output container log.</div> </td> </tr> <tr id="i26" class="altColor"> <td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><org.apache.hadoop.yarn.logaggregation.ContainerLogMeta></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#readAggregatedLogsMeta-org.apache.hadoop.yarn.logaggregation.ContainerLogsRequest-">readAggregatedLogsMeta</a></span>(org.apache.hadoop.yarn.logaggregation.ContainerLogsRequest logRequest)</code> <div class="block">Return a list of <code>ContainerLogMeta</code> for an application from Remote FileSystem.</div> </td> </tr> <tr id="i27" class="rowColor"> <td class="colFirst"><code>abstract void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#renderAggregatedLogsBlock-org.apache.hadoop.yarn.webapp.view.HtmlBlock.Block-org.apache.hadoop.yarn.webapp.View.ViewContext-">renderAggregatedLogsBlock</a></span>(org.apache.hadoop.yarn.webapp.view.HtmlBlock.Block html, org.apache.hadoop.yarn.webapp.View.ViewContext context)</code> <div class="block">Render Aggregated Logs block.</div> </td> </tr> <tr id="i28" class="altColor"> <td class="colFirst"><code>void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#verifyAndCreateRemoteLogDir--">verifyAndCreateRemoteLogDir</a></span>()</code> <div class="block">Verify and create the remote log directory.</div> </td> </tr> <tr id="i29" class="rowColor"> <td class="colFirst"><code>abstract void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html#write-org.apache.hadoop.yarn.logaggregation.AggregatedLogFormat.LogKey-org.apache.hadoop.yarn.logaggregation.AggregatedLogFormat.LogValue-">write</a></span>(<a href="../../../../../../org/apache/hadoop/yarn/logaggregation/AggregatedLogFormat.LogKey.html" title="class in org.apache.hadoop.yarn.logaggregation">AggregatedLogFormat.LogKey</a> logKey, org.apache.hadoop.yarn.logaggregation.AggregatedLogFormat.LogValue logValue)</code> <div class="block">Write the log content.</div> </td> </tr> </table> <ul class="blockList"> <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object"> <!-- --> </a> <h3>Methods inherited from class java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3> <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li> </ul> </li> </ul> </li> </ul> </div> <div class="details"> <ul class="blockList"> <li class="blockList"> <!-- ============ FIELD DETAIL =========== --> <ul class="blockList"> <li class="blockList"><a name="field.detail"> <!-- --> </a> <h3>Field Detail</h3> <a name="TLDIR_PERMISSIONS"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>TLDIR_PERMISSIONS</h4> <pre>protected static final <a href="../../../../../../org/apache/hadoop/fs/permission/FsPermission.html" title="class in org.apache.hadoop.fs.permission">FsPermission</a> TLDIR_PERMISSIONS</pre> <div class="block">Permissions for the top level directory under which app directories will be created.</div> </li> </ul> <a name="APP_DIR_PERMISSIONS"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>APP_DIR_PERMISSIONS</h4> <pre>protected static final <a href="../../../../../../org/apache/hadoop/fs/permission/FsPermission.html" title="class in org.apache.hadoop.fs.permission">FsPermission</a> APP_DIR_PERMISSIONS</pre> <div class="block">Permissions for the Application directory.</div> </li> </ul> <a name="APP_LOG_FILE_UMASK"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>APP_LOG_FILE_UMASK</h4> <pre>protected static final <a href="../../../../../../org/apache/hadoop/fs/permission/FsPermission.html" title="class in org.apache.hadoop.fs.permission">FsPermission</a> APP_LOG_FILE_UMASK</pre> <div class="block">Umask for the log file.</div> </li> </ul> <a name="conf"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>conf</h4> <pre>protected <a href="../../../../../../org/apache/hadoop/conf/Configuration.html" title="class in org.apache.hadoop.conf">Configuration</a> conf</pre> </li> </ul> <a name="remoteRootLogDir"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>remoteRootLogDir</h4> <pre>protected <a href="../../../../../../org/apache/hadoop/fs/Path.html" title="class in org.apache.hadoop.fs">Path</a> remoteRootLogDir</pre> </li> </ul> <a name="remoteRootLogDirSuffix"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>remoteRootLogDirSuffix</h4> <pre>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> remoteRootLogDirSuffix</pre> </li> </ul> <a name="retentionSize"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>retentionSize</h4> <pre>protected int retentionSize</pre> </li> </ul> <a name="fileControllerName"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>fileControllerName</h4> <pre>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> fileControllerName</pre> </li> </ul> <a name="fsSupportsChmod"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>fsSupportsChmod</h4> <pre>protected boolean fsSupportsChmod</pre> </li> </ul> </li> </ul> <!-- ========= CONSTRUCTOR DETAIL ======== --> <ul class="blockList"> <li class="blockList"><a name="constructor.detail"> <!-- --> </a> <h3>Constructor Detail</h3> <a name="LogAggregationFileController--"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>LogAggregationFileController</h4> <pre>public LogAggregationFileController()</pre> </li> </ul> </li> </ul> <!-- ============ METHOD DETAIL ========== --> <ul class="blockList"> <li class="blockList"><a name="method.detail"> <!-- --> </a> <h3>Method Detail</h3> <a name="initialize-org.apache.hadoop.conf.Configuration-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>initialize</h4> <pre>public void initialize(<a href="../../../../../../org/apache/hadoop/conf/Configuration.html" title="class in org.apache.hadoop.conf">Configuration</a> conf, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> controllerName)</pre> <div class="block">Initialize the log file controller.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>conf</code> - the Configuration</dd> <dd><code>controllerName</code> - the log controller class name</dd> </dl> </li> </ul> <a name="initInternal-org.apache.hadoop.conf.Configuration-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>initInternal</h4> <pre>protected abstract void initInternal(<a href="../../../../../../org/apache/hadoop/conf/Configuration.html" title="class in org.apache.hadoop.conf">Configuration</a> conf)</pre> <div class="block">Derived classes initialize themselves using this method.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>conf</code> - the Configuration</dd> </dl> </li> </ul> <a name="getRemoteRootLogDir--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getRemoteRootLogDir</h4> <pre>public <a href="../../../../../../org/apache/hadoop/fs/Path.html" title="class in org.apache.hadoop.fs">Path</a> getRemoteRootLogDir()</pre> <div class="block">Get the remote root log directory.</div> <dl> <dt><span class="returnLabel">Returns:</span></dt> <dd>the remote root log directory path</dd> </dl> </li> </ul> <a name="getRemoteRootLogDirSuffix--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getRemoteRootLogDirSuffix</h4> <pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> getRemoteRootLogDirSuffix()</pre> <div class="block">Get the log aggregation directory suffix.</div> <dl> <dt><span class="returnLabel">Returns:</span></dt> <dd>the log aggregation directory suffix</dd> </dl> </li> </ul> <a name="getFileControllerName--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getFileControllerName</h4> <pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> getFileControllerName()</pre> <div class="block">Get the name of the file controller.</div> <dl> <dt><span class="returnLabel">Returns:</span></dt> <dd>name of the file controller.</dd> </dl> </li> </ul> <a name="initializeWriter-org.apache.hadoop.yarn.logaggregation.filecontroller.LogAggregationFileControllerContext-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>initializeWriter</h4> <pre>public abstract void initializeWriter(org.apache.hadoop.yarn.logaggregation.filecontroller.LogAggregationFileControllerContext context) throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> <div class="block">Initialize the writer.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>context</code> - the <code>LogAggregationFileControllerContext</code></dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if fails to initialize the writer</dd> </dl> </li> </ul> <a name="closeWriter--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>closeWriter</h4> <pre>public abstract void closeWriter() throws org.apache.hadoop.yarn.logaggregation.filecontroller.LogAggregationDFSException</pre> <div class="block">Close the writer.</div> <dl> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>org.apache.hadoop.yarn.logaggregation.filecontroller.LogAggregationDFSException</code> - if the closing of the writer fails (for example due to HDFS quota being exceeded)</dd> </dl> </li> </ul> <a name="write-org.apache.hadoop.yarn.logaggregation.AggregatedLogFormat.LogKey-org.apache.hadoop.yarn.logaggregation.AggregatedLogFormat.LogValue-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>write</h4> <pre>public abstract void write(<a href="../../../../../../org/apache/hadoop/yarn/logaggregation/AggregatedLogFormat.LogKey.html" title="class in org.apache.hadoop.yarn.logaggregation">AggregatedLogFormat.LogKey</a> logKey, org.apache.hadoop.yarn.logaggregation.AggregatedLogFormat.LogValue logValue) throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> <div class="block">Write the log content.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>logKey</code> - the log key</dd> <dd><code>logValue</code> - the log content</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if fails to write the logs</dd> </dl> </li> </ul> <a name="postWrite-org.apache.hadoop.yarn.logaggregation.filecontroller.LogAggregationFileControllerContext-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>postWrite</h4> <pre>public abstract void postWrite(org.apache.hadoop.yarn.logaggregation.filecontroller.LogAggregationFileControllerContext record) throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre> <div class="block">Operations needed after write the log content.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>record</code> - the <code>LogAggregationFileControllerContext</code></dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - if anything fails</dd> </dl> </li> </ul> <a name="closePrintStream-java.io.OutputStream-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>closePrintStream</h4> <pre>protected void closePrintStream(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a> out)</pre> </li> </ul> <a name="readAggregatedLogs-org.apache.hadoop.yarn.logaggregation.ContainerLogsRequest-java.io.OutputStream-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>readAggregatedLogs</h4> <pre>public abstract boolean readAggregatedLogs(org.apache.hadoop.yarn.logaggregation.ContainerLogsRequest logRequest, <a href="https://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a> os) throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> <div class="block">Output container log.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>logRequest</code> - <code>ContainerLogsRequest</code></dd> <dd><code>os</code> - the output stream</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>true if we can read the aggregated logs successfully</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if we can not access the log file.</dd> </dl> </li> </ul> <a name="readAggregatedLogsMeta-org.apache.hadoop.yarn.logaggregation.ContainerLogsRequest-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>readAggregatedLogsMeta</h4> <pre>public abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><org.apache.hadoop.yarn.logaggregation.ContainerLogMeta> readAggregatedLogsMeta(org.apache.hadoop.yarn.logaggregation.ContainerLogsRequest logRequest) throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> <div class="block">Return a list of <code>ContainerLogMeta</code> for an application from Remote FileSystem.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>logRequest</code> - <code>ContainerLogsRequest</code></dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>a list of <code>ContainerLogMeta</code></dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if there is no available log file</dd> </dl> </li> </ul> <a name="getLogMetaFilesOfNode-org.apache.hadoop.yarn.logaggregation.ExtendedLogMetaRequest-org.apache.hadoop.fs.FileStatus-org.apache.hadoop.yarn.api.records.ApplicationId-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getLogMetaFilesOfNode</h4> <pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><org.apache.hadoop.yarn.logaggregation.ContainerLogFileInfo>> getLogMetaFilesOfNode(org.apache.hadoop.yarn.logaggregation.ExtendedLogMetaRequest logRequest, <a href="../../../../../../org/apache/hadoop/fs/FileStatus.html" title="class in org.apache.hadoop.fs">FileStatus</a> currentNodeFile, <a href="../../../../../../org/apache/hadoop/yarn/api/records/ApplicationId.html" title="class in org.apache.hadoop.yarn.api.records">ApplicationId</a> appId) throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> <div class="block">Returns log file metadata for a node grouped by containers.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>logRequest</code> - extended query information holder</dd> <dd><code>currentNodeFile</code> - file status of a node in an application directory</dd> <dd><code>appId</code> - id of the application, which is the same as in node path</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>log file metadata</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if there is no node file</dd> </dl> </li> </ul> <a name="getApplicationDirectoriesOfUser-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getApplicationDirectoriesOfUser</h4> <pre>public org.apache.hadoop.fs.RemoteIterator<<a href="../../../../../../org/apache/hadoop/fs/FileStatus.html" title="class in org.apache.hadoop.fs">FileStatus</a>> getApplicationDirectoriesOfUser(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> user) throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> <div class="block">Gets all application directories of a user.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>user</code> - name of the user</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>a lazy iterator of directories</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if user directory does not exist</dd> </dl> </li> </ul> <a name="getNodeFilesOfApplicationDirectory-org.apache.hadoop.fs.FileStatus-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getNodeFilesOfApplicationDirectory</h4> <pre>public org.apache.hadoop.fs.RemoteIterator<<a href="../../../../../../org/apache/hadoop/fs/FileStatus.html" title="class in org.apache.hadoop.fs">FileStatus</a>> getNodeFilesOfApplicationDirectory(<a href="../../../../../../org/apache/hadoop/fs/FileStatus.html" title="class in org.apache.hadoop.fs">FileStatus</a> appDir) throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> <div class="block">Gets all node files in an application directory.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>appDir</code> - application directory</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>a lazy iterator of files</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if file context is not reachable</dd> </dl> </li> </ul> <a name="renderAggregatedLogsBlock-org.apache.hadoop.yarn.webapp.view.HtmlBlock.Block-org.apache.hadoop.yarn.webapp.View.ViewContext-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>renderAggregatedLogsBlock</h4> <pre>public abstract void renderAggregatedLogsBlock(org.apache.hadoop.yarn.webapp.view.HtmlBlock.Block html, org.apache.hadoop.yarn.webapp.View.ViewContext context)</pre> <div class="block">Render Aggregated Logs block.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>html</code> - the html</dd> <dd><code>context</code> - the ViewContext</dd> </dl> </li> </ul> <a name="getApplicationOwner-org.apache.hadoop.fs.Path-org.apache.hadoop.yarn.api.records.ApplicationId-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getApplicationOwner</h4> <pre>public abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> getApplicationOwner(<a href="../../../../../../org/apache/hadoop/fs/Path.html" title="class in org.apache.hadoop.fs">Path</a> aggregatedLogPath, <a href="../../../../../../org/apache/hadoop/yarn/api/records/ApplicationId.html" title="class in org.apache.hadoop.yarn.api.records">ApplicationId</a> appId) throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> <div class="block">Returns the owner of the application.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>aggregatedLogPath</code> - the aggregatedLog path</dd> <dd><code>appId</code> - the ApplicationId</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>the application owner</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if we can not get the application owner</dd> </dl> </li> </ul> <a name="getApplicationAcls-org.apache.hadoop.fs.Path-org.apache.hadoop.yarn.api.records.ApplicationId-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getApplicationAcls</h4> <pre>public abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="../../../../../../org/apache/hadoop/yarn/api/records/ApplicationAccessType.html" title="enum in org.apache.hadoop.yarn.api.records">ApplicationAccessType</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>> getApplicationAcls(<a href="../../../../../../org/apache/hadoop/fs/Path.html" title="class in org.apache.hadoop.fs">Path</a> aggregatedLogPath, <a href="../../../../../../org/apache/hadoop/yarn/api/records/ApplicationId.html" title="class in org.apache.hadoop.yarn.api.records">ApplicationId</a> appId) throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> <div class="block">Returns ACLs for the application. An empty map is returned if no ACLs are found.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>aggregatedLogPath</code> - the aggregatedLog path.</dd> <dd><code>appId</code> - the ApplicationId</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>a map of the Application ACLs.</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if we can not get the application acls</dd> </dl> </li> </ul> <a name="verifyAndCreateRemoteLogDir--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>verifyAndCreateRemoteLogDir</h4> <pre>public void verifyAndCreateRemoteLogDir()</pre> <div class="block">Verify and create the remote log directory.</div> </li> </ul> <a name="createAppDir-java.lang.String-org.apache.hadoop.yarn.api.records.ApplicationId-org.apache.hadoop.security.UserGroupInformation-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>createAppDir</h4> <pre>public void createAppDir(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> user, <a href="../../../../../../org/apache/hadoop/yarn/api/records/ApplicationId.html" title="class in org.apache.hadoop.yarn.api.records">ApplicationId</a> appId, <a href="../../../../../../org/apache/hadoop/security/UserGroupInformation.html" title="class in org.apache.hadoop.security">UserGroupInformation</a> userUgi)</pre> <div class="block">Create remote Application directory for log aggregation.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>user</code> - the user</dd> <dd><code>appId</code> - the application ID</dd> <dd><code>userUgi</code> - the UGI</dd> </dl> </li> </ul> <a name="getFileSystem-org.apache.hadoop.conf.Configuration-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getFileSystem</h4> <pre>@VisibleForTesting protected <a href="../../../../../../org/apache/hadoop/fs/FileSystem.html" title="class in org.apache.hadoop.fs">FileSystem</a> getFileSystem(<a href="../../../../../../org/apache/hadoop/conf/Configuration.html" title="class in org.apache.hadoop.conf">Configuration</a> conf) throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> <dl> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd> </dl> </li> </ul> <a name="createDir-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.permission.FsPermission-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>createDir</h4> <pre>protected void createDir(<a href="../../../../../../org/apache/hadoop/fs/FileSystem.html" title="class in org.apache.hadoop.fs">FileSystem</a> fs, <a href="../../../../../../org/apache/hadoop/fs/Path.html" title="class in org.apache.hadoop.fs">Path</a> path, <a href="../../../../../../org/apache/hadoop/fs/permission/FsPermission.html" title="class in org.apache.hadoop.fs.permission">FsPermission</a> fsPerm) throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> <dl> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd> </dl> </li> </ul> <a name="checkExists-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.permission.FsPermission-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>checkExists</h4> <pre>protected boolean checkExists(<a href="../../../../../../org/apache/hadoop/fs/FileSystem.html" title="class in org.apache.hadoop.fs">FileSystem</a> fs, <a href="../../../../../../org/apache/hadoop/fs/Path.html" title="class in org.apache.hadoop.fs">Path</a> path, <a href="../../../../../../org/apache/hadoop/fs/permission/FsPermission.html" title="class in org.apache.hadoop.fs.permission">FsPermission</a> fsPerm) throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> <dl> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd> </dl> </li> </ul> <a name="getRemoteNodeLogFileForApp-org.apache.hadoop.yarn.api.records.ApplicationId-java.lang.String-org.apache.hadoop.yarn.api.records.NodeId-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getRemoteNodeLogFileForApp</h4> <pre>public <a href="../../../../../../org/apache/hadoop/fs/Path.html" title="class in org.apache.hadoop.fs">Path</a> getRemoteNodeLogFileForApp(<a href="../../../../../../org/apache/hadoop/yarn/api/records/ApplicationId.html" title="class in org.apache.hadoop.yarn.api.records">ApplicationId</a> appId, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> user, <a href="../../../../../../org/apache/hadoop/yarn/api/records/NodeId.html" title="class in org.apache.hadoop.yarn.api.records">NodeId</a> nodeId)</pre> <div class="block">Get the remote aggregated log path.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>appId</code> - the ApplicationId</dd> <dd><code>user</code> - the Application Owner</dd> <dd><code>nodeId</code> - the NodeManager Id</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>the remote aggregated log path</dd> </dl> </li> </ul> <a name="getRemoteAppLogDir-org.apache.hadoop.yarn.api.records.ApplicationId-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getRemoteAppLogDir</h4> <pre>public <a href="../../../../../../org/apache/hadoop/fs/Path.html" title="class in org.apache.hadoop.fs">Path</a> getRemoteAppLogDir(<a href="../../../../../../org/apache/hadoop/yarn/api/records/ApplicationId.html" title="class in org.apache.hadoop.yarn.api.records">ApplicationId</a> appId, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> appOwner) throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> <div class="block">Get the remote application directory for log aggregation.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>appId</code> - the Application ID</dd> <dd><code>appOwner</code> - the Application Owner</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>the remote application directory</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if can not find the remote application directory</dd> </dl> </li> </ul> <a name="getOlderRemoteAppLogDir-org.apache.hadoop.yarn.api.records.ApplicationId-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getOlderRemoteAppLogDir</h4> <pre>public <a href="../../../../../../org/apache/hadoop/fs/Path.html" title="class in org.apache.hadoop.fs">Path</a> getOlderRemoteAppLogDir(<a href="../../../../../../org/apache/hadoop/yarn/api/records/ApplicationId.html" title="class in org.apache.hadoop.yarn.api.records">ApplicationId</a> appId, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> appOwner) throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> <div class="block">Get the older remote application directory for log aggregation.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>appId</code> - the Application ID</dd> <dd><code>appOwner</code> - the Application Owner</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>the older remote application directory</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if can not find the remote application directory</dd> </dl> </li> </ul> <a name="cleanOldLogs-org.apache.hadoop.fs.Path-org.apache.hadoop.yarn.api.records.NodeId-org.apache.hadoop.security.UserGroupInformation-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>cleanOldLogs</h4> <pre>protected void cleanOldLogs(<a href="../../../../../../org/apache/hadoop/fs/Path.html" title="class in org.apache.hadoop.fs">Path</a> remoteNodeLogFileForApp, <a href="../../../../../../org/apache/hadoop/yarn/api/records/NodeId.html" title="class in org.apache.hadoop.yarn.api.records">NodeId</a> nodeId, <a href="../../../../../../org/apache/hadoop/security/UserGroupInformation.html" title="class in org.apache.hadoop.security">UserGroupInformation</a> userUgi)</pre> </li> </ul> <a name="aggregatedLogSuffix-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>aggregatedLogSuffix</h4> <pre>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> aggregatedLogSuffix(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> fileName)</pre> <div class="block">Create the aggregated log suffix. The LogAggregationFileController should call this to get the suffix and append the suffix to the end of each log. This would keep the aggregated log format consistent.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>fileName</code> - the File Name</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>the aggregated log suffix String</dd> </dl> </li> </ul> <a name="isFsSupportsChmod--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>isFsSupportsChmod</h4> <pre>public boolean isFsSupportsChmod()</pre> </li> </ul> <a name="belongsToAppAttempt-org.apache.hadoop.yarn.api.records.ApplicationAttemptId-java.lang.String-"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>belongsToAppAttempt</h4> <pre>protected boolean belongsToAppAttempt(<a href="../../../../../../org/apache/hadoop/yarn/api/records/ApplicationAttemptId.html" title="class in org.apache.hadoop.yarn.api.records">ApplicationAttemptId</a> appAttemptId, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> containerIdStr)</pre> </li> </ul> </li> </ul> </li> </ul> </div> </div> <!-- ========= END OF CLASS DATA ========= --> <!-- ======= START OF BOTTOM NAVBAR ====== --> <div class="bottomNav"><a name="navbar.bottom"> <!-- --> </a> <div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div> <a name="navbar.bottom.firstrow"> <!-- --> </a> <ul class="navList" title="Navigation"> <li><a href="../../../../../../overview-summary.html">Overview</a></li> <li><a href="package-summary.html">Package</a></li> <li class="navBarCell1Rev">Class</li> <li><a href="class-use/LogAggregationFileController.html">Use</a></li> <li><a href="package-tree.html">Tree</a></li> <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li> <li><a href="../../../../../../index-all.html">Index</a></li> <li><a href="../../../../../../help-doc.html">Help</a></li> </ul> </div> <div class="subNav"> <ul class="navList"> <li>Prev Class</li> <li>Next Class</li> </ul> <ul class="navList"> <li><a href="../../../../../../index.html?org/apache/hadoop/yarn/logaggregation/filecontroller/LogAggregationFileController.html" target="_top">Frames</a></li> <li><a href="LogAggregationFileController.html" target="_top">No Frames</a></li> </ul> <ul class="navList" id="allclasses_navbar_bottom"> <li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li> </ul> <div> <script type="text/javascript"><!-- allClassesLink = document.getElementById("allclasses_navbar_bottom"); if(window==top) { allClassesLink.style.display = "block"; } else { allClassesLink.style.display = "none"; } //--> </script> </div> <div> <ul class="subNavList"> <li>Summary: </li> <li>Nested | </li> <li><a href="#field.summary">Field</a> | </li> <li><a href="#constructor.summary">Constr</a> | </li> <li><a href="#method.summary">Method</a></li> </ul> <ul class="subNavList"> <li>Detail: </li> <li><a href="#field.detail">Field</a> | </li> <li><a href="#constructor.detail">Constr</a> | </li> <li><a href="#method.detail">Method</a></li> </ul> </div> <a name="skip.navbar.bottom"> <!-- --> </a></div> <!-- ======== END OF BOTTOM NAVBAR ======= --> <p class="legalCopy"><small>Copyright © 2023 <a href="https://www.apache.org">Apache Software Foundation</a>. All rights reserved.</small></p> </body> </html>