YARN-1453. [JDK8] Fix Javadoc errors caused by incorrect or illegal tags in doc comments. Contributed by Akira AJISAKA, Andrew Purtell, and Allen Wittenauer.

(cherry picked from commit 3da9a97cfb)
This commit is contained in:
Tsuyoshi Ozawa 2015-03-16 23:19:05 +09:00
parent 6ee45ae3a8
commit 2b2f7f2b90
64 changed files with 517 additions and 585 deletions

View File

@ -709,6 +709,9 @@ Release 2.7.0 - UNRELEASED
YARN-3171. Sort by Application id, AppAttempt and ContainerID doesn't work
in ATS / RM web ui. (Naganarasimha G R via xgong)
YARN-1453. [JDK8] Fix Javadoc errors caused by incorrect or illegal tags in
doc comments. (Akira AJISAKA, Andrew Purtell, and Allen Wittenauer via ozawa)
Release 2.6.0 - 2014-11-18
INCOMPATIBLE CHANGES

View File

@ -65,41 +65,31 @@ import org.apache.hadoop.yarn.exceptions.YarnException;
public interface ApplicationBaseProtocol {
/**
* <p>
* The interface used by clients to get a report of an Application from the
* <code>ResourceManager</code> or <code>ApplicationHistoryServer</code>.
* </p>
*
* <p>
* The client, via {@link GetApplicationReportRequest} provides the
* {@link ApplicationId} of the application.
* </p>
*
* <p>
* In secure mode,the <code>ResourceManager</code> or
* <code>ApplicationHistoryServer</code> verifies access to the application,
* queue etc. before accepting the request.
* </p>
*
* <p>
* The <code>ResourceManager</code> or <code>ApplicationHistoryServer</code>
* responds with a {@link GetApplicationReportResponse} which includes the
* {@link ApplicationReport} for the application.
* </p>
*
* <p>
* If the user does not have <code>VIEW_APP</code> access then the following
* fields in the report will be set to stubbed values:
* <ul>
* <li>host - set to "N/A"</li>
* <li>RPC port - set to -1</li>
* <li>client token - set to "N/A"</li>
* <li>diagnostics - set to "N/A"</li>
* <li>tracking URL - set to "N/A"</li>
* <li>original tracking URL - set to "N/A"</li>
* <li>resource usage report - all values are -1</li>
* <li>host - set to "N/A"</li>
* <li>RPC port - set to -1</li>
* <li>client token - set to "N/A"</li>
* <li>diagnostics - set to "N/A"</li>
* <li>tracking URL - set to "N/A"</li>
* <li>original tracking URL - set to "N/A"</li>
* <li>resource usage report - all values are -1</li>
* </ul>
* </p>
*
* @param request
* request for an application report
@ -148,40 +138,30 @@ public interface ApplicationBaseProtocol {
IOException;
/**
* <p>
* The interface used by clients to get a report of an Application Attempt
* from the <code>ResourceManager</code> or
* <code>ApplicationHistoryServer</code>
* </p>
*
* <p>
* The client, via {@link GetApplicationAttemptReportRequest} provides the
* {@link ApplicationAttemptId} of the application attempt.
* </p>
*
* <p>
* In secure mode,the <code>ResourceManager</code> or
* <code>ApplicationHistoryServer</code> verifies access to the method before
* accepting the request.
* </p>
*
* <p>
* The <code>ResourceManager</code> or <code>ApplicationHistoryServer</code>
* responds with a {@link GetApplicationAttemptReportResponse} which includes
* the {@link ApplicationAttemptReport} for the application attempt.
* </p>
*
* <p>
* If the user does not have <code>VIEW_APP</code> access then the following
* fields in the report will be set to stubbed values:
* <ul>
* <li>host</li>
* <li>RPC port</li>
* <li>client token</li>
* <li>diagnostics - set to "N/A"</li>
* <li>tracking URL</li>
* <li>host</li>
* <li>RPC port</li>
* <li>client token</li>
* <li>diagnostics - set to "N/A"</li>
* <li>tracking URL</li>
* </ul>
* </p>
*
* @param request
* request for an application attempt report

View File

@ -135,9 +135,6 @@ public interface ApplicationClientProtocol extends ApplicationBaseProtocol {
* @return (empty) response on accepting the submission
* @throws YarnException
* @throws IOException
* @throws InvalidResourceRequestException
* The exception is thrown when a {@link ResourceRequest} is out of
* the range of the configured lower and upper resource boundaries.
* @see #getNewApplication(GetNewApplicationRequest)
*/
@Public

View File

@ -35,19 +35,18 @@ import org.apache.hadoop.yarn.util.Records;
* <code>ResourceManager</code> to obtain resources in the cluster.</p>
*
* <p>The request includes:
* <ul>
* <li>A response id to track duplicate responses.</li>
* <li>Progress information.</li>
* <li>
* A list of {@link ResourceRequest} to inform the
* <code>ResourceManager</code> about the application's
* resource requirements.
* </li>
* <li>
* A list of unused {@link Container} which are being returned.
* </li>
* </ul>
* </p>
* <ul>
* <li>A response id to track duplicate responses.</li>
* <li>Progress information.</li>
* <li>
* A list of {@link ResourceRequest} to inform the
* <code>ResourceManager</code> about the application's
* resource requirements.
* </li>
* <li>
* A list of unused {@link Container} which are being returned.
* </li>
* </ul>
*
* @see ApplicationMasterProtocol#allocate(AllocateRequest)
*/

View File

@ -39,27 +39,27 @@ import org.apache.hadoop.yarn.api.records.Token;
import org.apache.hadoop.yarn.util.Records;
/**
* <p>The response sent by the <code>ResourceManager</code> the
* <code>ApplicationMaster</code> during resource negotiation.</p>
*
* <p>The response, includes:
* <ul>
* <li>Response ID to track duplicate responses.</li>
* <li>
* An AMCommand sent by ResourceManager to let the <code>ApplicationMaster</code>
* take some actions (resync, shutdown etc.).
* <li>A list of newly allocated {@link Container}.</li>
* <li>A list of completed {@link Container}s' statuses.</li>
* <li>
* The available headroom for resources in the cluster for the
* application.
* </li>
* <li>A list of nodes whose status has been updated.</li>
* <li>The number of available nodes in a cluster.</li>
* <li>A description of resources requested back by the cluster</li>
* <li>AMRMToken, if AMRMToken has been rolled over</li>
* </ul>
* </p>
* The response sent by the <code>ResourceManager</code> the
* <code>ApplicationMaster</code> during resource negotiation.
* <p>
* The response, includes:
* <ul>
* <li>Response ID to track duplicate responses.</li>
* <li>
* An AMCommand sent by ResourceManager to let the
* {@code ApplicationMaster} take some actions (resync, shutdown etc.).
* </li>
* <li>A list of newly allocated {@link Container}.</li>
* <li>A list of completed {@link Container}s' statuses.</li>
* <li>
* The available headroom for resources in the cluster for the
* application.
* </li>
* <li>A list of nodes whose status has been updated.</li>
* <li>The number of available nodes in a cluster.</li>
* <li>A description of resources requested back by the cluster</li>
* <li>AMRMToken, if AMRMToken has been rolled over</li>
* </ul>
*
* @see ApplicationMasterProtocol#allocate(AllocateRequest)
*/
@ -220,16 +220,16 @@ public abstract class AllocateResponse {
public abstract void setNumClusterNodes(int numNodes);
/**
* <p>Get the description of containers owned by the AM, but requested back by
* Get the description of containers owned by the AM, but requested back by
* the cluster. Note that the RM may have an inconsistent view of the
* resources owned by the AM. These messages are advisory, and the AM may
* elect to ignore them.<p>
*
* <p>The message is a snapshot of the resources the RM wants back from the AM.
* elect to ignore them.
* <p>
* The message is a snapshot of the resources the RM wants back from the AM.
* While demand persists, the RM will repeat its request; applications should
* not interpret each message as a request for <em>additional<em>
* not interpret each message as a request for <em>additional</em>
* resources on top of previous messages. Resources requested consistently
* over some duration may be forcibly killed by the RM.<p>
* over some duration may be forcibly killed by the RM.
*
* @return A specification of the resources to reclaim from this AM.
*/
@ -242,15 +242,17 @@ public abstract class AllocateResponse {
public abstract void setPreemptionMessage(PreemptionMessage request);
/**
* <p>Get the list of NMTokens required for communicating with NM. New NMTokens
* issued only if<p>
* <p>1) AM is receiving first container on underlying NodeManager.<br>
* Get the list of NMTokens required for communicating with NM. New NMTokens
* issued only if
* <p>
* 1) AM is receiving first container on underlying NodeManager.<br>
* OR<br>
* 2) NMToken master key rolled over in ResourceManager and AM is getting new
* container on the same underlying NodeManager.<p>
* <p>AM will receive one NMToken per NM irrespective of the number of containers
* container on the same underlying NodeManager.
* <p>
* AM will receive one NMToken per NM irrespective of the number of containers
* issued on same NM. AM is expected to store these tokens until issued a
* new token for the same NM.<p>
* new token for the same NM.
*/
@Public
@Stable

View File

@ -25,19 +25,18 @@ import org.apache.hadoop.yarn.api.records.FinalApplicationStatus;
import org.apache.hadoop.yarn.util.Records;
/**
* <p>The finalization request sent by the <code>ApplicationMaster</code> to
* inform the <code>ResourceManager</code> about its completion.</p>
*
* <p>The final request includes details such:
* <ul>
* <li>Final state of the <code>ApplicationMaster</code></li>
* <li>
* Diagnostic information in case of failure of the
* <code>ApplicationMaster</code>
* </li>
* <li>Tracking URL</li>
* </ul>
* </p>
* The finalization request sent by the {@code ApplicationMaster} to
* inform the {@code ResourceManager} about its completion.
* <p>
* The final request includes details such:
* <ul>
* <li>Final state of the {@code ApplicationMaster}</li>
* <li>
* Diagnostic information in case of failure of the
* {@code ApplicationMaster}
* </li>
* <li>Tracking URL</li>
* </ul>
*
* @see ApplicationMasterProtocol#finishApplicationMaster(FinishApplicationMasterRequest)
*/

View File

@ -26,22 +26,19 @@ import org.apache.hadoop.yarn.api.ApplicationMasterProtocol;
import org.apache.hadoop.yarn.util.Records;
/**
* <p>
* The response sent by the <code>ResourceManager</code> to a
* <code>ApplicationMaster</code> on it's completion.
* </p>
*
* <p>
* The response, includes:
* <ul>
* <li>A flag which indicates that the application has successfully unregistered
* with the RM and the application can safely stop.</li>
* </ul>
* </p>
* <p>
* Note: The flag indicates whether the application has successfully
* unregistered and is safe to stop. The application may stop after the flag is
* true. If the application stops before the flag is true then the RM may retry
* the application .
* the application.
*
* @see ApplicationMasterProtocol#finishApplicationMaster(FinishApplicationMasterRequest)
*/

View File

@ -34,7 +34,6 @@ import org.apache.hadoop.yarn.util.Records;
* <p>The request from clients to get a report of Applications
* in the cluster from the <code>ResourceManager</code>.</p>
*
*
* @see ApplicationClientProtocol#getApplications(GetApplicationsRequest)
*/
@Public

View File

@ -27,8 +27,8 @@ import org.apache.hadoop.yarn.api.records.YarnClusterMetrics;
import org.apache.hadoop.yarn.util.Records;
/**
* <p>The response sent by the <code>ResourceManager</code> to a client
* requesting cluster metrics.<p>
* The response sent by the <code>ResourceManager</code> to a client
* requesting cluster metrics.
*
* @see YarnClusterMetrics
* @see ApplicationClientProtocol#getClusterMetrics(GetClusterMetricsRequest)

View File

@ -28,11 +28,9 @@ import org.apache.hadoop.yarn.api.records.ContainerStatus;
import org.apache.hadoop.yarn.util.Records;
/**
* <p>
* The request sent by the <code>ApplicationMaster</code> to the
* <code>NodeManager</code> to get {@link ContainerStatus} of requested
* containers.
* </p>
*
* @see ContainerManagementProtocol#getContainerStatuses(GetContainerStatusesRequest)
*/

View File

@ -32,11 +32,9 @@ import org.apache.hadoop.yarn.api.records.SerializedException;
import org.apache.hadoop.yarn.util.Records;
/**
* <p>
* The response sent by the <code>NodeManager</code> to the
* <code>ApplicationMaster</code> when asked to obtain the
* <code>ContainerStatus</code> of requested containers.
* </p>
*
* @see ContainerManagementProtocol#getContainerStatuses(GetContainerStatusesRequest)
*/

View File

@ -63,7 +63,7 @@ public abstract class GetQueueInfoRequest {
public abstract void setQueueName(String queueName);
/**
* Is information about <em>active applications<e/m> required?
* Is information about <em>active applications</em> required?
* @return <code>true</code> if applications' information is to be included,
* else <code>false</code>
*/

View File

@ -27,12 +27,11 @@ import org.apache.hadoop.yarn.api.records.QueueInfo;
import org.apache.hadoop.yarn.util.Records;
/**
* <p>The response sent by the <code>ResourceManager</code> to a client
* requesting information about queues in the system.</p>
*
* <p>The response includes a {@link QueueInfo} which has details such as
* queue name, used/total capacities, running applications, child queues etc
* .</p>
* The response sent by the {@code ResourceManager} to a client
* requesting information about queues in the system.
* <p>
* The response includes a {@link QueueInfo} which has details such as
* queue name, used/total capacities, running applications, child queues etc.
*
* @see QueueInfo
* @see ApplicationClientProtocol#getQueueInfo(GetQueueInfoRequest)

View File

@ -26,21 +26,20 @@ import org.apache.hadoop.yarn.api.ApplicationClientProtocol;
import org.apache.hadoop.yarn.util.Records;
/**
* <p>
* The response sent by the <code>ResourceManager</code> to the client aborting
* a submitted application.
* </p>
* <p>
* The response, includes:
* <ul>
* <li>A flag which indicates that the process of killing the application is
* completed or not.</li>
* <li>
* A flag which indicates that the process of killing the application is
* completed or not.
* </li>
* </ul>
* Note: user is recommended to wait until this flag becomes true, otherwise if
* the <code>ResourceManager</code> crashes before the process of killing the
* application is completed, the <code>ResourceManager</code> may retry this
* application on recovery.
* </p>
*
* @see ApplicationClientProtocol#forceKillApplication(KillApplicationRequest)
*/

View File

@ -24,16 +24,15 @@ import org.apache.hadoop.yarn.api.ApplicationMasterProtocol;
import org.apache.hadoop.yarn.util.Records;
/**
* <p>The request sent by the <code>ApplicationMaster</code> to
* <code>ResourceManager</code> on registration.</p>
*
* <p>The registration includes details such as:
* <ul>
* <li>Hostname on which the AM is running.</li>
* <li>RPC Port</li>
* <li>Tracking URL</li>
* </ul>
* </p>
* The request sent by the {@code ApplicationMaster} to {@code ResourceManager}
* on registration.
* <p>
* The registration includes details such as:
* <ul>
* <li>Hostname on which the AM is running.</li>
* <li>RPC Port</li>
* <li>Tracking URL</li>
* </ul>
*
* @see ApplicationMasterProtocol#registerApplicationMaster(RegisterApplicationMasterRequest)
*/
@ -83,20 +82,20 @@ public abstract class RegisterApplicationMasterRequest {
public abstract void setHost(String host);
/**
* Get the <em>RPC port</em> on which the <code>ApplicationMaster</code>
* is responding.
* @return the <em>RPC port<em> on which the <code>ApplicationMaster</code> is
* responding
* Get the <em>RPC port</em> on which the {@code ApplicationMaster} is
* responding.
* @return the <em>RPC port</em> on which the {@code ApplicationMaster}
* is responding
*/
@Public
@Stable
public abstract int getRpcPort();
/**
* Set the <em>RPC port<em> on which the <code>ApplicationMaster</code> is
* Set the <em>RPC port</em> on which the {@code ApplicationMaster} is
* responding.
* @param port <em>RPC port<em> on which the <code>ApplicationMaster</code> is
* responding
* @param port <em>RPC port</em> on which the {@code ApplicationMaster}
* is responding
*/
@Public
@Stable

View File

@ -36,16 +36,15 @@ import org.apache.hadoop.yarn.proto.YarnServiceProtos.SchedulerResourceTypes;
import org.apache.hadoop.yarn.util.Records;
/**
* <p>The response sent by the <code>ResourceManager</code> to a new
* <code>ApplicationMaster</code> on registration.</p>
*
* <p>The response contains critical details such as:
* The response sent by the {@code ResourceManager} to a new
* {@code ApplicationMaster} on registration.
* <p>
* The response contains critical details such as:
* <ul>
* <li>Maximum capability for allocated resources in the cluster.</li>
* <li><code>ApplicationACL</code>s for the application.</li>
* <li>{@code ApplicationACL}s for the application.</li>
* <li>ClientToAMToken master key.</li>
* </ul>
* </p>
*
* @see ApplicationMasterProtocol#registerApplicationMaster(RegisterApplicationMasterRequest)
*/

View File

@ -74,10 +74,11 @@ public abstract class StartContainerRequest {
public abstract void setContainerLaunchContext(ContainerLaunchContext context);
/**
* <p>Get the container token to be used for authorization during starting
* container.</p>
* <p>Note: {@link NMToken} will be used for authenticating communication with </code>
* NodeManager</code>.</p>
* Get the container token to be used for authorization during starting
* container.
* <p>
* Note: {@link NMToken} will be used for authenticating communication with
* {@code NodeManager}.
* @return the container token to be used for authorization during starting
* container.
* @see NMToken

View File

@ -24,24 +24,19 @@ import org.apache.hadoop.classification.InterfaceStability.Unstable;
import org.apache.hadoop.yarn.util.Records;
/**
* <p>
* <code>ApplicationAttemptReport</code> is a report of an application attempt.
* </p>
*
* {@code ApplicationAttemptReport} is a report of an application attempt.
* <p>
* It includes details such as:
* <ul>
* <li>{@link ApplicationAttemptId} of the application.</li>
* <li>Host on which the <code>ApplicationMaster</code> of this attempt is
* running.</li>
* <li>RPC port of the <code>ApplicationMaster</code> of this attempt.</li>
* <li>Tracking URL.</li>
* <li>Diagnostic information in case of errors.</li>
* <li>{@link YarnApplicationAttemptState} of the application attempt.</li>
* <li>{@link ContainerId} of the master Container.</li>
* <li>{@link ApplicationAttemptId} of the application.</li>
* <li>Host on which the <code>ApplicationMaster</code> of this attempt is
* running.</li>
* <li>RPC port of the <code>ApplicationMaster</code> of this attempt.</li>
* <li>Tracking URL.</li>
* <li>Diagnostic information in case of errors.</li>
* <li>{@link YarnApplicationAttemptState} of the application attempt.</li>
* <li>{@link ContainerId} of the master Container.</li>
* </ul>
* </p>
*
*/
@Public
@Unstable

View File

@ -28,23 +28,22 @@ import org.apache.hadoop.yarn.util.Records;
import java.util.Set;
/**
* <p><code>ApplicationReport</code> is a report of an application.</p>
*
* <p>It includes details such as:
* <ul>
* <li>{@link ApplicationId} of the application.</li>
* <li>Applications user.</li>
* <li>Application queue.</li>
* <li>Application name.</li>
* <li>Host on which the <code>ApplicationMaster</code> is running.</li>
* <li>RPC port of the <code>ApplicationMaster</code>.</li>
* <li>Tracking URL.</li>
* <li>{@link YarnApplicationState} of the application.</li>
* <li>Diagnostic information in case of errors.</li>
* <li>Start time of the application.</li>
* <li>Client {@link Token} of the application (if security is enabled).</li>
* </ul>
* </p>
* {@code ApplicationReport} is a report of an application.
* <p>
* It includes details such as:
* <ul>
* <li>{@link ApplicationId} of the application.</li>
* <li>Applications user.</li>
* <li>Application queue.</li>
* <li>Application name.</li>
* <li>Host on which the <code>ApplicationMaster</code> is running.</li>
* <li>RPC port of the <code>ApplicationMaster</code>.</li>
* <li>Tracking URL.</li>
* <li>{@link YarnApplicationState} of the application.</li>
* <li>Diagnostic information in case of errors.</li>
* <li>Start time of the application.</li>
* <li>Client {@link Token} of the application (if security is enabled).</li>
* </ul>
*
* @see ApplicationClientProtocol#getApplicationReport(org.apache.hadoop.yarn.api.protocolrecords.GetApplicationReportRequest)
*/
@ -341,20 +340,20 @@ public abstract class ApplicationReport {
/**
* Get the AMRM token of the application.
* <p/>
* <p>
* The AMRM token is required for AM to RM scheduling operations. For
* managed Application Masters Yarn takes care of injecting it. For unmanaged
* Applications Masters, the token must be obtained via this method and set
* in the {@link org.apache.hadoop.security.UserGroupInformation} of the
* current user.
* <p/>
* <p>
* The AMRM token will be returned only if all the following conditions are
* met:
* <li>
* <ul>the requester is the owner of the ApplicationMaster</ul>
* <ul>the application master is an unmanaged ApplicationMaster</ul>
* <ul>the application master is in ACCEPTED state</ul>
* </li>
* <ul>
* <li>the requester is the owner of the ApplicationMaster</li>
* <li>the application master is an unmanaged ApplicationMaster</li>
* <li>the application master is in ACCEPTED state</li>
* </ul>
* Else this method returns NULL.
*
* @return the AM to RM token if available.

View File

@ -33,32 +33,34 @@ import org.apache.hadoop.yarn.conf.YarnConfiguration;
import org.apache.hadoop.yarn.util.Records;
/**
* <p><code>ApplicationSubmissionContext</code> represents all of the
* information needed by the <code>ResourceManager</code> to launch
* the <code>ApplicationMaster</code> for an application.</p>
*
* <p>It includes details such as:
* <ul>
* <li>{@link ApplicationId} of the application.</li>
* <li>Application user.</li>
* <li>Application name.</li>
* <li>{@link Priority} of the application.</li>
* <li>
* {@link ContainerLaunchContext} of the container in which the
* <code>ApplicationMaster</code> is executed.
* </li>
* <li>maxAppAttempts. The maximum number of application attempts.
* {@code ApplicationSubmissionContext} represents all of the
* information needed by the {@code ResourceManager} to launch
* the {@code ApplicationMaster} for an application.
* <p>
* It includes details such as:
* <ul>
* <li>{@link ApplicationId} of the application.</li>
* <li>Application user.</li>
* <li>Application name.</li>
* <li>{@link Priority} of the application.</li>
* <li>
* {@link ContainerLaunchContext} of the container in which the
* <code>ApplicationMaster</code> is executed.
* </li>
* <li>
* maxAppAttempts. The maximum number of application attempts.
* It should be no larger than the global number of max attempts in the
* Yarn configuration.</li>
* <li>attemptFailuresValidityInterval. The default value is -1.
* when attemptFailuresValidityInterval in milliseconds is set to > 0,
* the failure number will no take failures which happen out of the
* validityInterval into failure count. If failure count reaches to
* maxAppAttempts, the application will be failed.
* </li>
* Yarn configuration.
* </li>
* <li>
* attemptFailuresValidityInterval. The default value is -1.
* when attemptFailuresValidityInterval in milliseconds is set to
* {@literal >} 0, the failure number will no take failures which happen
* out of the validityInterval into failure count. If failure count
* reaches to maxAppAttempts, the application will be failed.
* </li>
* <li>Optional, application-specific {@link LogAggregationContext}</li>
* </ul>
* </p>
* </ul>
*
* @see ContainerLaunchContext
* @see ApplicationClientProtocol#submitApplication(org.apache.hadoop.yarn.api.protocolrecords.SubmitApplicationRequest)

View File

@ -27,34 +27,31 @@ import org.apache.hadoop.yarn.api.ContainerManagementProtocol;
import org.apache.hadoop.yarn.util.Records;
/**
* <p><code>Container</code> represents an allocated resource in the cluster.
* </p>
*
* <p>The <code>ResourceManager</code> is the sole authority to allocate any
* <code>Container</code> to applications. The allocated <code>Container</code>
* {@code Container} represents an allocated resource in the cluster.
* <p>
* The {@code ResourceManager} is the sole authority to allocate any
* {@code Container} to applications. The allocated {@code Container}
* is always on a single node and has a unique {@link ContainerId}. It has
* a specific amount of {@link Resource} allocated.</p>
* a specific amount of {@link Resource} allocated.
* <p>
* It includes details such as:
* <ul>
* <li>{@link ContainerId} for the container, which is globally unique.</li>
* <li>
* {@link NodeId} of the node on which it is allocated.
* </li>
* <li>HTTP uri of the node.</li>
* <li>{@link Resource} allocated to the container.</li>
* <li>{@link Priority} at which the container was allocated.</li>
* <li>
* Container {@link Token} of the container, used to securely verify
* authenticity of the allocation.
* </li>
* </ul>
*
* <p>It includes details such as:
* <ul>
* <li>{@link ContainerId} for the container, which is globally unique.</li>
* <li>
* {@link NodeId} of the node on which it is allocated.
* </li>
* <li>HTTP uri of the node.</li>
* <li>{@link Resource} allocated to the container.</li>
* <li>{@link Priority} at which the container was allocated.</li>
* <li>
* Container {@link Token} of the container, used to securely verify
* authenticity of the allocation.
* </li>
* </ul>
* </p>
*
* <p>Typically, an <code>ApplicationMaster</code> receives the
* <code>Container</code> from the <code>ResourceManager</code> during
* resource-negotiation and then talks to the <code>NodeManager</code> to
* start/stop containers.</p>
* Typically, an {@code ApplicationMaster} receives the {@code Container}
* from the {@code ResourceManager} during resource-negotiation and then
* talks to the {@code NodeManager} to start/stop containers.
*
* @see ApplicationMasterProtocol#allocate(org.apache.hadoop.yarn.api.protocolrecords.AllocateRequest)
* @see ContainerManagementProtocol#startContainers(org.apache.hadoop.yarn.api.protocolrecords.StartContainersRequest)

View File

@ -30,24 +30,23 @@ import org.apache.hadoop.yarn.server.api.AuxiliaryService;
import org.apache.hadoop.yarn.util.Records;
/**
* <p><code>ContainerLaunchContext</code> represents all of the information
* needed by the <code>NodeManager</code> to launch a container.</p>
*
* <p>It includes details such as:
* <ul>
* <li>{@link ContainerId} of the container.</li>
* <li>{@link Resource} allocated to the container.</li>
* <li>User to whom the container is allocated.</li>
* <li>Security tokens (if security is enabled).</li>
* <li>
* {@link LocalResource} necessary for running the container such
* as binaries, jar, shared-objects, side-files etc.
* </li>
* <li>Optional, application-specific binary service data.</li>
* <li>Environment variables for the launched process.</li>
* <li>Command to launch the container.</li>
* </ul>
* </p>
* {@code ContainerLaunchContext} represents all of the information
* needed by the {@code NodeManager} to launch a container.
* <p>
* It includes details such as:
* <ul>
* <li>{@link ContainerId} of the container.</li>
* <li>{@link Resource} allocated to the container.</li>
* <li>User to whom the container is allocated.</li>
* <li>Security tokens (if security is enabled).</li>
* <li>
* {@link LocalResource} necessary for running the container such
* as binaries, jar, shared-objects, side-files etc.
* </li>
* <li>Optional, application-specific binary service data.</li>
* <li>Environment variables for the launched process.</li>
* <li>Command to launch the container.</li>
* </ul>
*
* @see ContainerManagementProtocol#startContainers(org.apache.hadoop.yarn.api.protocolrecords.StartContainersRequest)
*/

View File

@ -24,27 +24,22 @@ import org.apache.hadoop.classification.InterfaceStability.Unstable;
import org.apache.hadoop.yarn.util.Records;
/**
* <p>
* <code>ContainerReport</code> is a report of an container.
* </p>
*
* {@code ContainerReport} is a report of an container.
* <p>
* It includes details such as:
* <ul>
* <li>{@link ContainerId} of the container.</li>
* <li>Allocated Resources to the container.</li>
* <li>Assigned Node id.</li>
* <li>Assigned Priority.</li>
* <li>Creation Time.</li>
* <li>Finish Time.</li>
* <li>Container Exit Status.</li>
* <li>{@link ContainerState} of the container.</li>
* <li>Diagnostic information in case of errors.</li>
* <li>Log URL.</li>
* <li>nodeHttpAddress</li>
* <li>{@link ContainerId} of the container.</li>
* <li>Allocated Resources to the container.</li>
* <li>Assigned Node id.</li>
* <li>Assigned Priority.</li>
* <li>Creation Time.</li>
* <li>Finish Time.</li>
* <li>Container Exit Status.</li>
* <li>{@link ContainerState} of the container.</li>
* <li>Diagnostic information in case of errors.</li>
* <li>Log URL.</li>
* <li>nodeHttpAddress</li>
* </ul>
* </p>
*
*/
@Public

View File

@ -25,17 +25,16 @@ import org.apache.hadoop.classification.InterfaceStability.Unstable;
import org.apache.hadoop.yarn.util.Records;
/**
* <p><code>ContainerStatus</code> represents the current status of a
* <code>Container</code>.</p>
*
* <p>It provides details such as:
* <ul>
* <li><code>ContainerId</code> of the container.</li>
* <li><code>ContainerState</code> of the container.</li>
* <li><em>Exit status</em> of a completed container.</li>
* <li><em>Diagnostic</em> message for a failed container.</li>
* </ul>
* </p>
* {@code ContainerStatus} represents the current status of a
* {@code Container}.
* <p>
* It provides details such as:
* <ul>
* <li>{@code ContainerId} of the container.</li>
* <li>{@code ContainerState} of the container.</li>
* <li><em>Exit status</em> of a completed container.</li>
* <li><em>Diagnostic</em> message for a failed container.</li>
* </ul>
*/
@Public
@Stable

View File

@ -23,22 +23,22 @@ import org.apache.hadoop.classification.InterfaceStability.Stable;
import org.apache.hadoop.yarn.api.ContainerManagementProtocol;
/**
* <p><code>LocalResourceType</code> specifies the <em>type</em>
* of a resource localized by the <code>NodeManager</code>.</p>
*
* <p>The <em>type</em> can be one of:
* <ul>
* <li>
* {@link #FILE} - Regular file i.e. uninterpreted bytes.
* </li>
* <li>
* {@link #ARCHIVE} - Archive, which is automatically unarchived by the
* <code>NodeManager</code>.
* </li>
* <li>
* {@link #PATTERN} - A hybrid between {@link #ARCHIVE} and {@link #FILE}.
* </ul>
* </p>
* {@code LocalResourceType} specifies the <em>type</em>
* of a resource localized by the {@code NodeManager}.
* <p>
* The <em>type</em> can be one of:
* <ul>
* <li>
* {@link #FILE} - Regular file i.e. uninterpreted bytes.
* </li>
* <li>
* {@link #ARCHIVE} - Archive, which is automatically unarchived by the
* <code>NodeManager</code>.
* </li>
* <li>
* {@link #PATTERN} - A hybrid between {@link #ARCHIVE} and {@link #FILE}.
* </li>
* </ul>
*
* @see LocalResource
* @see ContainerLaunchContext

View File

@ -23,22 +23,21 @@ import org.apache.hadoop.classification.InterfaceStability.Stable;
import org.apache.hadoop.yarn.api.ContainerManagementProtocol;
/**
* <p><code>LocalResourceVisibility</code> specifies the <em>visibility</em>
* of a resource localized by the <code>NodeManager</code>.</p>
*
* <p>The <em>visibility</em> can be one of:
* <ul>
* <li>{@link #PUBLIC} - Shared by all users on the node.</li>
* <li>
* {@link #PRIVATE} - Shared among all applications of the
* <em>same user</em> on the node.
* </li>
* <li>
* {@link #APPLICATION} - Shared only among containers of the
* <em>same application</em> on the node.
* </li>
* </ul>
* </p>
* {@code LocalResourceVisibility} specifies the <em>visibility</em>
* of a resource localized by the {@code NodeManager}.
* <p>
* The <em>visibility</em> can be one of:
* <ul>
* <li>{@link #PUBLIC} - Shared by all users on the node.</li>
* <li>
* {@link #PRIVATE} - Shared among all applications of the
* <em>same user</em> on the node.
* </li>
* <li>
* {@link #APPLICATION} - Shared only among containers of the
* <em>same application</em> on the node.
* </li>
* </ul>
*
* @see LocalResource
* @see ContainerLaunchContext

View File

@ -24,30 +24,37 @@ import org.apache.hadoop.classification.InterfaceStability.Unstable;
import org.apache.hadoop.yarn.util.Records;
/**
* <p><code>LogAggregationContext</code> represents all of the
* information needed by the <code>NodeManager</code> to handle
* the logs for an application.</p>
*
* <p>It includes details such as:
* <ul>
* <li>includePattern. It uses Java Regex to filter the log files
* {@code LogAggregationContext} represents all of the
* information needed by the {@code NodeManager} to handle
* the logs for an application.
* <p>
* It includes details such as:
* <ul>
* <li>
* includePattern. It uses Java Regex to filter the log files
* which match the defined include pattern and those log files
* will be uploaded when the application finishes. </li>
* <li>excludePattern. It uses Java Regex to filter the log files
* will be uploaded when the application finishes.
* </li>
* <li>
* excludePattern. It uses Java Regex to filter the log files
* which match the defined exclude pattern and those log files
* will not be uploaded when application finishes. If the log file
* name matches both the include and the exclude pattern, this file
* will be excluded eventually</li>
* <li>rolledLogsIncludePattern. It uses Java Regex to filter the log files
* will be excluded eventually.
* </li>
* <li>
* rolledLogsIncludePattern. It uses Java Regex to filter the log files
* which match the defined include pattern and those log files
* will be aggregated in a rolling fashion.</li>
* <li>rolledLogsExcludePattern. It uses Java Regex to filter the log files
* will be aggregated in a rolling fashion.
* </li>
* <li>
* rolledLogsExcludePattern. It uses Java Regex to filter the log files
* which match the defined exclude pattern and those log files
* will not be aggregated in a rolling fashion. If the log file
* name matches both the include and the exclude pattern, this file
* will be excluded eventually</li>
* </ul>
* </p>
* will be excluded eventually.
* </li>
* </ul>
*
* @see ApplicationSubmissionContext
*/

View File

@ -28,19 +28,18 @@ import org.apache.hadoop.yarn.api.ApplicationClientProtocol;
import org.apache.hadoop.yarn.util.Records;
/**
* <p><code>NodeReport</code> is a summary of runtime information of a
* node in the cluster.</p>
*
* <p>It includes details such as:
* <ul>
* <li>{@link NodeId} of the node.</li>
* <li>HTTP Tracking URL of the node.</li>
* <li>Rack name for the node.</li>
* <li>Used {@link Resource} on the node.</li>
* <li>Total available {@link Resource} of the node.</li>
* <li>Number of running containers on the node.</li>
* </ul>
* </p>
* {@code NodeReport} is a summary of runtime information of a node
* in the cluster.
* <p>
* It includes details such as:
* <ul>
* <li>{@link NodeId} of the node.</li>
* <li>HTTP Tracking URL of the node.</li>
* <li>Rack name for the node.</li>
* <li>Used {@link Resource} on the node.</li>
* <li>Total available {@link Resource} of the node.</li>
* <li>Number of running containers on the node.</li>
* </ul>
*
* @see ApplicationClientProtocol#getClusterNodes(org.apache.hadoop.yarn.api.protocolrecords.GetClusterNodesRequest)
*/

View File

@ -24,36 +24,36 @@ import org.apache.hadoop.classification.InterfaceStability.Unstable;
import org.apache.hadoop.yarn.util.Records;
/**
* <p>A {@link PreemptionMessage} is part of the RM-AM protocol, and it is used by
* A {@link PreemptionMessage} is part of the RM-AM protocol, and it is used by
* the RM to specify resources that the RM wants to reclaim from this
* <code>ApplicationMaster</code> (AM). The AM receives a {@link
* {@code ApplicationMaster} (AM). The AM receives a {@link
* StrictPreemptionContract} message encoding which containers the platform may
* forcibly kill, granting it an opportunity to checkpoint state or adjust its
* execution plan. The message may also include a {@link PreemptionContract}
* granting the AM more latitude in selecting which resources to return to the
* cluster.<p>
*
* <p>The AM should decode both parts of the message. The {@link
* cluster.
* <p>
* The AM should decode both parts of the message. The {@link
* StrictPreemptionContract} specifies particular allocations that the RM
* requires back. The AM can checkpoint containers' state, adjust its execution
* plan to move the computation, or take no action and hope that conditions that
* caused the RM to ask for the container will change.<p>
*
* <p>In contrast, the {@link PreemptionContract} also includes a description of
* caused the RM to ask for the container will change.
* <p>
* In contrast, the {@link PreemptionContract} also includes a description of
* resources with a set of containers. If the AM releases containers matching
* that profile, then the containers enumerated in {@link
* PreemptionContract#getContainers()} may not be killed.<p>
*
* <p>Each preemption message reflects the RM's current understanding of the
* cluster state, so a request to return <emph>N</emph> containers may not
* PreemptionContract#getContainers()} may not be killed.
* <p>
* Each preemption message reflects the RM's current understanding of the
* cluster state, so a request to return <em>N</em> containers may not
* reflect containers the AM is releasing, recently exited containers the RM has
* yet to learn about, or new containers allocated before the message was
* generated. Conversely, an RM may request a different profile of containers in
* subsequent requests.<p>
*
* <p>The policy enforced by the RM is part of the scheduler. Generally, only
* subsequent requests.
* <p>
* The policy enforced by the RM is part of the scheduler. Generally, only
* containers that have been requested consistently should be killed, but the
* details are not specified.<p>
* details are not specified.
*/
@Public
@Evolving

View File

@ -23,18 +23,15 @@ import org.apache.hadoop.classification.InterfaceStability.Stable;
import org.apache.hadoop.yarn.api.ApplicationClientProtocol;
/**
* <p>
* <code>QueueACL</code> enumerates the various ACLs for queues.
* </p>
*
* {@code QueueACL} enumerates the various ACLs for queues.
* <p>
* The ACL is one of:
* <ul>
* <li>{@link #SUBMIT_APPLICATIONS} - ACL to submit applications to the
* queue.</li>
* <li>{@link #ADMINISTER_QUEUE} - ACL to administer the queue.</li>
* <li>
* {@link #SUBMIT_APPLICATIONS} - ACL to submit applications to the queue.
* </li>
* <li>{@link #ADMINISTER_QUEUE} - ACL to administer the queue.</li>
* </ul>
* </p>
*
* @see QueueInfo
* @see ApplicationClientProtocol#getQueueUserAcls(org.apache.hadoop.yarn.api.protocolrecords.GetQueueUserAclsInfoRequest)

View File

@ -29,19 +29,18 @@ import org.apache.hadoop.yarn.api.ApplicationClientProtocol;
import org.apache.hadoop.yarn.util.Records;
/**
* <p>QueueInfo is a report of the runtime information of the queue.</p>
*
* <p>It includes information such as:
* <ul>
* <li>Queue name.</li>
* <li>Capacity of the queue.</li>
* <li>Maximum capacity of the queue.</li>
* <li>Current capacity of the queue.</li>
* <li>Child queues.</li>
* <li>Running applications.</li>
* <li>{@link QueueState} of the queue.</li>
* </ul>
* </p>
* QueueInfo is a report of the runtime information of the queue.
* <p>
* It includes information such as:
* <ul>
* <li>Queue name.</li>
* <li>Capacity of the queue.</li>
* <li>Maximum capacity of the queue.</li>
* <li>Current capacity of the queue.</li>
* <li>Child queues.</li>
* <li>Running applications.</li>
* <li>{@link QueueState} of the queue.</li>
* </ul>
*
* @see QueueState
* @see ApplicationClientProtocol#getQueueInfo(org.apache.hadoop.yarn.api.protocolrecords.GetQueueInfoRequest)

View File

@ -23,14 +23,13 @@ import org.apache.hadoop.classification.InterfaceStability.Stable;
import org.apache.hadoop.yarn.api.ApplicationClientProtocol;
/**
* <p>State of a Queue.</p>
*
* <p>A queue is in one of:
* <ul>
* <li>{@link #RUNNING} - normal state.</li>
* <li>{@link #STOPPED} - not accepting new application submissions.
* </ul>
* </p>
* State of a Queue.
* <p>
* A queue is in one of:
* <ul>
* <li>{@link #RUNNING} - normal state.</li>
* <li>{@link #STOPPED} - not accepting new application submissions.</li>
* </ul>
*
* @see QueueInfo
* @see ApplicationClientProtocol#getQueueInfo(org.apache.hadoop.yarn.api.protocolrecords.GetQueueInfoRequest)

View File

@ -25,23 +25,18 @@ import org.apache.hadoop.classification.InterfaceStability.Unstable;
import org.apache.hadoop.yarn.util.Records;
/**
* <p>
* {@link ReservationRequest} represents the request made by an application to
* the {@code ResourceManager} to reserve {@link Resource}s.
* </p>
*
* <p>
* It includes:
* <ul>
* <li>{@link Resource} required for each request.</li>
* <li>
* Number of containers, of above specifications, which are required by the
* application.</li>
* <li>
* Concurrency that indicates the gang size of the request.</li>
* <li>{@link Resource} required for each request.</li>
* <li>
* Number of containers, of above specifications, which are required by the
* application.
* </li>
* <li>Concurrency that indicates the gang size of the request.</li>
* </ul>
* </p>
*
*/
@Public
@Unstable

View File

@ -33,14 +33,13 @@ public enum ReservationRequestInterpreter {
* Requires that exactly ONE among the {@link ReservationRequest} submitted as
* of a {@link ReservationDefinition} is satisfied to satisfy the overall
* {@link ReservationDefinition}.
*
* <p>
* WHEN TO USE THIS: This is useful when the user have multiple equivalent
* ways to run an application, and wants to expose to the ReservationAgent
* such flexibility. For example an application could use one <32GB,16core>
* container for 10min, or 16 <2GB,1core> containers for 15min, the
* ReservationAgent will decide which one of the two it is best for the system
* to place.
*
* such flexibility. For example an application could use one
* {@literal <32GB,16core>} container for 10min, or 16 {@literal <2GB,1core>}
* containers for 15min, the ReservationAgent will decide which one of the
* two it is best for the system to place.
*/
R_ANY,
@ -49,16 +48,16 @@ public enum ReservationRequestInterpreter {
* {@link ReservationDefinition} are satisfied for the overall
* {@link ReservationDefinition} to be satisfied. No constraints are imposed
* on the temporal ordering of the allocation used to satisfy the
* ResourceRequeusts.
*
* ResourceRequests.
* <p>
* WHEN TO USE THIS: This is useful to capture a scenario in which the user
* cares for multiple ReservationDefinition to be all accepted, or none. For
* example, a user might want a reservation R1: with 10 x <8GB,4core> for
* 10min, and a reservation R2: with 2 <1GB,1core> for 1h, and only if both
* are satisfied the workflow run in this reservation succeeds. The key
* differentiator from ALL and ORDER, ORDER_NO_GAP, is that ALL imposes no
* restrictions on the relative allocations used to place R1 and R2 above.
*
* example, a user might want a reservation R1: with 10 x
* {@literal <8GB,4core>} for 10min, and a reservation R2:
* with 2 {@literal <1GB,1core>} for 1h, and only if both are satisfied
* the workflow run in this reservation succeeds. The key differentiator
* from ALL and ORDER, ORDER_NO_GAP, is that ALL imposes no restrictions
* on the relative allocations used to place R1 and R2 above.
*/
R_ALL,
@ -73,15 +72,16 @@ public enum ReservationRequestInterpreter {
* constraints are imposed on temporal gaps between subsequent allocations
* (the last instant of the previous allocation can be an arbitrary long
* period of time before the first instant of the subsequent allocation).
*
* <p>
* WHEN TO USE THIS: Like ALL this requires all ReservationDefinitions to be
* placed, but it also imposes a time ordering on the allocations used. This
* is important if the ReservationDefinition(s) are used to describe a
* workflow with inherent inter-stage dependencies. For example, a first job
* runs in a ReservaitonDefinition R1 (10 x <1GB,1core> for 20min), and its
* output is consumed by a second job described by a ReservationDefinition R2
* (5 x <1GB,1core>) for 50min). R2 allocation cannot overlap R1, as R2 models
* a job depending on the output of the job modeled by R1.
* runs in a ReservaitonDefinition R1 (10 x {@literal <1GB,1core>}
* for 20min), and its output is consumed by a second job described by
* a ReservationDefinition R2 (5 x {@literal <1GB,1core>}) for 50min).
* R2 allocation cannot overlap R1, as R2 models a job depending on
* the output of the job modeled by R1.
*/
R_ORDER,

View File

@ -27,31 +27,30 @@ import org.apache.hadoop.yarn.api.ApplicationMasterProtocol;
import org.apache.hadoop.yarn.util.Records;
/**
* <p><code>ResourceRequest</code> represents the request made by an
* application to the <code>ResourceManager</code> to obtain various
* <code>Container</code> allocations.</p>
*
* <p>It includes:
* <ul>
* <li>{@link Priority} of the request.</li>
* <li>
* The <em>name</em> of the machine or rack on which the allocation is
* desired. A special value of <em>*</em> signifies that
* <em>any</em> host/rack is acceptable to the application.
* </li>
* <li>{@link Resource} required for each request.</li>
* <li>
* Number of containers, of above specifications, which are required
* by the application.
* </li>
* <li>
* A boolean <em>relaxLocality</em> flag, defaulting to <code>true</code>,
* which tells the <code>ResourceManager</code> if the application wants
* locality to be loose (i.e. allows fall-through to rack or <em>any</em>)
* or strict (i.e. specify hard constraint on resource allocation).
* </li>
* </ul>
* </p>
* {@code ResourceRequest} represents the request made
* by an application to the {@code ResourceManager}
* to obtain various {@code Container} allocations.
* <p>
* It includes:
* <ul>
* <li>{@link Priority} of the request.</li>
* <li>
* The <em>name</em> of the machine or rack on which the allocation is
* desired. A special value of <em>*</em> signifies that
* <em>any</em> host/rack is acceptable to the application.
* </li>
* <li>{@link Resource} required for each request.</li>
* <li>
* Number of containers, of above specifications, which are required
* by the application.
* </li>
* <li>
* A boolean <em>relaxLocality</em> flag, defaulting to {@code true},
* which tells the {@code ResourceManager} if the application wants
* locality to be loose (i.e. allows fall-through to rack or <em>any</em>)
* or strict (i.e. specify hard constraint on resource allocation).
* </li>
* </ul>
*
* @see Resource
* @see ApplicationMasterProtocol#allocate(org.apache.hadoop.yarn.api.protocolrecords.AllocateRequest)
@ -267,7 +266,7 @@ public abstract class ResourceRequest implements Comparable<ResourceRequest> {
/**
* Set node label expression of this resource request. Now only support
* specifying a single node label. In the future we will support more complex
* node label expression specification like AND(&&), OR(||), etc.
* node label expression specification like {@code AND(&&), OR(||)}, etc.
*
* Any please note that node label expression now can only take effect when
* the resource request has resourceName = ANY

View File

@ -733,8 +733,9 @@ public class YarnConfiguration extends Configuration {
/**
* How long to wait between aggregated log retention checks. If set to
* a value <= 0 then the value is computed as one-tenth of the log retention
* setting. Be careful set this too small and you will spam the name node.
* a value {@literal <=} 0 then the value is computed as one-tenth of the
* log retention setting. Be careful set this too small and you will spam
* the name node.
*/
public static final String LOG_AGGREGATION_RETAIN_CHECK_INTERVAL_SECONDS =
YARN_PREFIX + "log-aggregation.retain-check-interval-seconds";

View File

@ -54,7 +54,7 @@ public abstract class UpdateNodeResourceRequest {
/**
* Get the map from <code>NodeId</code> to <code>ResourceOption</code>.
* @return the map of <NodeId, ResourceOption>
* @return the map of {@code <NodeId, ResourceOption>}
*/
@Public
@Evolving
@ -62,7 +62,7 @@ public abstract class UpdateNodeResourceRequest {
/**
* Set the map from <code>NodeId</code> to <code>ResourceOption</code>.
* @param nodeResourceMap the map of <NodeId, ResourceOption>
* @param nodeResourceMap the map of {@code <NodeId, ResourceOption>}
*/
@Public
@Evolving

View File

@ -56,28 +56,22 @@ public abstract class AHSClient extends AbstractService {
}
/**
* <p>
* Get a report of the given Application.
* </p>
*
* <p>
* In secure mode, <code>YARN</code> verifies access to the application, queue
* etc. before accepting the request.
* </p>
*
* <p>
* If the user does not have <code>VIEW_APP</code> access then the following
* fields in the report will be set to stubbed values:
* <ul>
* <li>host - set to "N/A"</li>
* <li>RPC port - set to -1</li>
* <li>client token - set to "N/A"</li>
* <li>diagnostics - set to "N/A"</li>
* <li>tracking URL - set to "N/A"</li>
* <li>original tracking URL - set to "N/A"</li>
* <li>resource usage report - all values are -1</li>
* <li>host - set to "N/A"</li>
* <li>RPC port - set to -1</li>
* <li>client token - set to "N/A"</li>
* <li>diagnostics - set to "N/A"</li>
* <li>tracking URL - set to "N/A"</li>
* <li>original tracking URL - set to "N/A"</li>
* <li>resource usage report - all values are -1</li>
* </ul>
* </p>
*
* @param appId
* {@link ApplicationId} of the application that needs a report
@ -121,7 +115,7 @@ public abstract class AHSClient extends AbstractService {
* a report
* @return application attempt report
* @throws YarnException
* @throws {@link ApplicationAttemptNotFoundException} if application attempt
* @throws ApplicationAttemptNotFoundException if application attempt
* not found
* @throws IOException
*/
@ -157,7 +151,7 @@ public abstract class AHSClient extends AbstractService {
* {@link ContainerId} of the container that needs a report
* @return container report
* @throws YarnException
* @throws {@link ContainerNotFoundException} if container not found
* @throws ContainerNotFoundException if container not found
* @throws IOException
*/
public abstract ContainerReport getContainerReport(ContainerId containerId)

View File

@ -349,7 +349,7 @@ public abstract class AMRMClient<T extends AMRMClient.ContainerRequest> extends
* Set the NM token cache for the <code>AMRMClient</code>. This cache must
* be shared with the {@link NMClient} used to manage containers for the
* <code>AMRMClient</code>
* <p/>
* <p>
* If a NM token cache is not set, the {@link NMTokenCache#getSingleton()}
* singleton instance will be used.
*
@ -363,7 +363,7 @@ public abstract class AMRMClient<T extends AMRMClient.ContainerRequest> extends
* Get the NM token cache of the <code>AMRMClient</code>. This cache must be
* shared with the {@link NMClient} used to manage containers for the
* <code>AMRMClient</code>.
* <p/>
* <p>
* If a NM token cache is not set, the {@link NMTokenCache#getSingleton()}
* singleton instance will be used.
*

View File

@ -125,7 +125,7 @@ public abstract class NMClient extends AbstractService {
* Set the NM Token cache of the <code>NMClient</code>. This cache must be
* shared with the {@link AMRMClient} that requested the containers managed
* by this <code>NMClient</code>
* <p/>
* <p>
* If a NM token cache is not set, the {@link NMTokenCache#getSingleton()}
* singleton instance will be used.
*
@ -139,7 +139,7 @@ public abstract class NMClient extends AbstractService {
* Get the NM token cache of the <code>NMClient</code>. This cache must be
* shared with the {@link AMRMClient} that requested the containers managed
* by this <code>NMClient</code>
* <p/>
* <p>
* If a NM token cache is not set, the {@link NMTokenCache#getSingleton()}
* singleton instance will be used.
*

View File

@ -34,26 +34,26 @@ import com.google.common.annotations.VisibleForTesting;
/**
* NMTokenCache manages NMTokens required for an Application Master
* communicating with individual NodeManagers.
* <p/>
* <p>
* By default Yarn client libraries {@link AMRMClient} and {@link NMClient} use
* {@link #getSingleton()} instance of the cache.
* <ul>
* <li>Using the singleton instance of the cache is appropriate when running a
* single ApplicationMaster in the same JVM.</li>
* <li>When using the singleton, users don't need to do anything special,
* {@link AMRMClient} and {@link NMClient} are already set up to use the default
* singleton {@link NMTokenCache}</li>
* <li>
* Using the singleton instance of the cache is appropriate when running a
* single ApplicationMaster in the same JVM.
* </li>
* <li>
* When using the singleton, users don't need to do anything special,
* {@link AMRMClient} and {@link NMClient} are already set up to use the
* default singleton {@link NMTokenCache}
* </li>
* </ul>
* <p/>
* If running multiple Application Masters in the same JVM, a different cache
* instance should be used for each Application Master.
* <p/>
* <ul>
* <li>
* If using the {@link AMRMClient} and the {@link NMClient}, setting up and using
* an instance cache is as follows:
* <p/>
*
* <li>
* If using the {@link AMRMClient} and the {@link NMClient}, setting up
* and using an instance cache is as follows:
* <pre>
* NMTokenCache nmTokenCache = new NMTokenCache();
* AMRMClient rmClient = AMRMClient.createAMRMClient();
@ -61,12 +61,10 @@ import com.google.common.annotations.VisibleForTesting;
* nmClient.setNMTokenCache(nmTokenCache);
* ...
* </pre>
* </li>
* <li>
* If using the {@link AMRMClientAsync} and the {@link NMClientAsync}, setting up
* and using an instance cache is as follows:
* <p/>
*
* </li>
* <li>
* If using the {@link AMRMClientAsync} and the {@link NMClientAsync},
* setting up and using an instance cache is as follows:
* <pre>
* NMTokenCache nmTokenCache = new NMTokenCache();
* AMRMClient rmClient = AMRMClient.createAMRMClient();
@ -76,13 +74,11 @@ import com.google.common.annotations.VisibleForTesting;
* NMClientAsync nmClientAsync = new NMClientAsync("nmClient", nmClient, [NM_CALLBACK]);
* ...
* </pre>
* </li>
* <li>
* If using {@link ApplicationMasterProtocol} and
* {@link ContainerManagementProtocol} directly, setting up and using an
* instance cache is as follows:
* <p/>
*
* </li>
* <li>
* If using {@link ApplicationMasterProtocol} and
* {@link ContainerManagementProtocol} directly, setting up and using an
* instance cache is as follows:
* <pre>
* NMTokenCache nmTokenCache = new NMTokenCache();
* ...
@ -100,12 +96,12 @@ import com.google.common.annotations.VisibleForTesting;
* nmPro.startContainer(container, containerContext);
* ...
* </pre>
* </li>
* </li>
* </ul>
* It is also possible to mix the usage of a client (<code>AMRMClient</code> or
* <code>NMClient</code>, or the async versions of them) with a protocol proxy (
* <code>ContainerManagementProtocolProxy</code> or
* <code>ApplicationMasterProtocol</code>).
* It is also possible to mix the usage of a client ({@code AMRMClient} or
* {@code NMClient}, or the async versions of them) with a protocol proxy
* ({@code ContainerManagementProtocolProxy} or
* {@code ApplicationMasterProtocol}).
*/
@Public
@Evolving

View File

@ -32,14 +32,12 @@ import org.apache.hadoop.classification.InterfaceStability.Unstable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.service.AbstractService;
import org.apache.hadoop.yarn.api.ApplicationClientProtocol;
import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationReportRequest;
import org.apache.hadoop.yarn.api.protocolrecords.ReservationDeleteRequest;
import org.apache.hadoop.yarn.api.protocolrecords.ReservationDeleteResponse;
import org.apache.hadoop.yarn.api.protocolrecords.ReservationSubmissionRequest;
import org.apache.hadoop.yarn.api.protocolrecords.ReservationSubmissionResponse;
import org.apache.hadoop.yarn.api.protocolrecords.ReservationUpdateRequest;
import org.apache.hadoop.yarn.api.protocolrecords.ReservationUpdateResponse;
import org.apache.hadoop.yarn.api.protocolrecords.SubmitApplicationRequest;
import org.apache.hadoop.yarn.api.records.ApplicationAttemptId;
import org.apache.hadoop.yarn.api.records.ApplicationAttemptReport;
import org.apache.hadoop.yarn.api.records.ApplicationId;
@ -58,8 +56,10 @@ import org.apache.hadoop.yarn.api.records.Token;
import org.apache.hadoop.yarn.api.records.YarnApplicationState;
import org.apache.hadoop.yarn.api.records.YarnClusterMetrics;
import org.apache.hadoop.yarn.client.api.impl.YarnClientImpl;
import org.apache.hadoop.yarn.exceptions.ApplicationAttemptNotFoundException;
import org.apache.hadoop.yarn.exceptions.ApplicationIdNotProvidedException;
import org.apache.hadoop.yarn.exceptions.ApplicationNotFoundException;
import org.apache.hadoop.yarn.exceptions.ContainerNotFoundException;
import org.apache.hadoop.yarn.exceptions.YarnException;
import org.apache.hadoop.yarn.security.AMRMTokenIdentifier;
@ -171,7 +171,6 @@ public abstract class YarnClient extends AbstractService {
* <li>original tracking URL - set to "N/A"</li>
* <li>resource usage report - all values are -1</li>
* </ul>
* </p>
*
* @param appId
* {@link ApplicationId} of the application that needs a report
@ -184,20 +183,20 @@ public abstract class YarnClient extends AbstractService {
/**
* Get the AMRM token of the application.
* <p/>
* <p>
* The AMRM token is required for AM to RM scheduling operations. For
* managed Application Masters Yarn takes care of injecting it. For unmanaged
* Applications Masters, the token must be obtained via this method and set
* in the {@link org.apache.hadoop.security.UserGroupInformation} of the
* current user.
* <p/>
* <p>
* The AMRM token will be returned only if all the following conditions are
* met:
* <li>
* <ul>the requester is the owner of the ApplicationMaster</ul>
* <ul>the application master is an unmanaged ApplicationMaster</ul>
* <ul>the application master is in ACCEPTED state</ul>
* </li>
* <ul>
* <li>the requester is the owner of the ApplicationMaster</li>
* <li>the application master is an unmanaged ApplicationMaster</li>
* <li>the application master is in ACCEPTED state</li>
* </ul>
* Else this method returns NULL.
*
* @param appId {@link ApplicationId} of the application to get the AMRM token
@ -415,7 +414,7 @@ public abstract class YarnClient extends AbstractService {
* a report
* @return application attempt report
* @throws YarnException
* @throws {@link ApplicationAttemptNotFoundException} if application attempt
* @throws ApplicationAttemptNotFoundException if application attempt
* not found
* @throws IOException
*/
@ -450,7 +449,7 @@ public abstract class YarnClient extends AbstractService {
* {@link ContainerId} of the container that needs a report
* @return container report
* @throws YarnException
* @throws {@link ContainerNotFoundException} if container not found.
* @throws ContainerNotFoundException if container not found.
* @throws IOException
*/
public abstract ContainerReport getContainerReport(ContainerId containerId)

View File

@ -344,7 +344,7 @@ public class CommonNodeLabelsManager extends AbstractService {
/**
* add more labels to nodes
*
* @param addedLabelsToNode node -> labels map
* @param addedLabelsToNode node {@literal ->} labels map
*/
public void addLabelsToNode(Map<NodeId, Set<String>> addedLabelsToNode)
throws IOException {
@ -614,7 +614,7 @@ public class CommonNodeLabelsManager extends AbstractService {
* remove labels from nodes, labels being removed most be contained by these
* nodes
*
* @param removeLabelsFromNode node -> labels map
* @param removeLabelsFromNode node {@literal ->} labels map
*/
public void
removeLabelsFromNode(Map<NodeId, Set<String>> removeLabelsFromNode)
@ -668,7 +668,7 @@ public class CommonNodeLabelsManager extends AbstractService {
/**
* replace labels to nodes
*
* @param replaceLabelsToNode node -> labels map
* @param replaceLabelsToNode node {@literal ->} labels map
*/
public void replaceLabelsOnNode(Map<NodeId, Set<String>> replaceLabelsToNode)
throws IOException {

View File

@ -35,7 +35,7 @@ public abstract class NodeLabelsStore implements Closeable {
}
/**
* Store node -> label
* Store node {@literal ->} label
*/
public abstract void updateNodeToLabelsMappings(
Map<NodeId, Set<String>> nodeToLabels) throws IOException;
@ -54,7 +54,6 @@ public abstract class NodeLabelsStore implements Closeable {
/**
* Recover labels and node to labels mappings from store
* @param conf
*/
public abstract void recover() throws IOException;

View File

@ -93,7 +93,6 @@ public class ApplicationACLsManager {
* @param applicationAccessType
* @param applicationOwner
* @param applicationId
* @throws AccessControlException
*/
public boolean checkAccess(UserGroupInformation callerUGI,
ApplicationAccessType applicationAccessType, String applicationOwner,

View File

@ -88,7 +88,7 @@ public final class StringHelper {
}
/**
* Join on slash & colon (e.g., path args in routing spec)
* Join on slash and colon (e.g., path args in routing spec)
* @param args to join
* @return args joined with /:
*/
@ -116,7 +116,7 @@ public final class StringHelper {
}
/**
* Split on space & trim results.
* Split on space and trim results.
* @param s the string to split
* @return an iterable of strings
*/
@ -125,7 +125,7 @@ public final class StringHelper {
}
/**
* Split on _ & trim results
* Split on _ and trim results
* @param s the string to split
* @return an iterable of strings
*/

View File

@ -52,13 +52,13 @@ import com.google.inject.servlet.GuiceFilter;
/**
* Helpers to create an embedded webapp.
*
* <h4>Quick start:</h4>
* <b>Quick start:</b>
* <pre>
* WebApp wa = WebApps.$for(myApp).start();</pre>
* Starts a webapp with default routes binds to 0.0.0.0 (all network interfaces)
* on an ephemeral port, which can be obtained with:<pre>
* int port = wa.port();</pre>
* <h4>With more options:</h4>
* <b>With more options:</b>
* <pre>
* WebApp wa = WebApps.$for(myApp).at(address, port).
* with(configuration).

View File

@ -116,10 +116,10 @@ public class RegistryUtils {
}
/**
* Create a path to a service under a user & service class
* Create a path to a service under a user and service class
* @param user username or ""
* @param serviceClass service name
* @param serviceName service name unique for that user & service class
* @param serviceName service name unique for that user and service class
* @return a full path
*/
public static String servicePath(String user,
@ -135,7 +135,7 @@ public class RegistryUtils {
* Create a path for listing components under a service
* @param user username or ""
* @param serviceClass service name
* @param serviceName service name unique for that user & service class
* @param serviceName service name unique for that user and service class
* @return a full path
*/
public static String componentListPath(String user,
@ -149,7 +149,7 @@ public class RegistryUtils {
* Create the path to a service record for a component
* @param user username or ""
* @param serviceClass service name
* @param serviceName service name unique for that user & service class
* @param serviceName service name unique for that user and service class
* @param componentName unique name/ID of the component
* @return a full path
*/

View File

@ -32,7 +32,7 @@ import org.apache.hadoop.registry.client.impl.zk.RegistryOperationsService;
*
* For SASL, the client must be operating in the context of an authed user.
*
* For id:pass the client must have the relevant id & password, SASL is
* For id:pass the client must have the relevant id and password, SASL is
* not used even if the client has credentials.
*
* For anonymous, nothing is used.

View File

@ -71,14 +71,13 @@ public interface ZookeeperConfigOptions {
* The SASL client username: {@value}.
* <p>
* Set this to the <i>short</i> name of the client, e.g, "user",
* not <code>user/host</code>, or <code>user/host@REALM</code>
* not {@code user/host}, or {@code user/host@REALM}
*/
String PROP_ZK_SASL_CLIENT_USERNAME = "zookeeper.sasl.client.username";
/**
* The SASL Server context, referring to a context in the JVM's
* JAAS context file: {@value}
* <p>
*/
String PROP_ZK_SERVER_SASL_CONTEXT =
ZooKeeperSaslServer.LOGIN_CONTEXT_NAME_KEY;

View File

@ -47,16 +47,16 @@ import java.net.UnknownHostException;
/**
* This is a small, localhost Zookeeper service instance that is contained
* in a YARN service...it's been derived from Apache Twill.
*
* <p>
* It implements {@link RegistryBindingSource} and provides binding information,
* <i>once started</i>. Until <code>start()</code> is called, the hostname &
* <i>once started</i>. Until {@link #start()} is called, the hostname and
* port may be undefined. Accordingly, the service raises an exception in this
* condition.
*
* <p>
* If you wish to chain together a registry service with this one under
* the same <code>CompositeService</code>, this service must be added
* the same {@code CompositeService}, this service must be added
* as a child first.
*
* <p>
* It also sets the configuration parameter
* {@link RegistryConstants#KEY_REGISTRY_ZK_QUORUM}
* to its connection string. Any code with access to the service configuration

View File

@ -19,9 +19,10 @@
/**
* Basic services for the YARN registry
* <ul>
* <li>The {@link org.apache.hadoop.registry.server.services.RegistryAdminService}</ol>
* extends the shared Yarn Registry client with registry setup and
* (potentially asynchronous) administrative actions.
* <li>
* The {@link org.apache.hadoop.registry.server.services.RegistryAdminService}
* extends the shared Yarn Registry client with registry setup and
* (potentially asynchronous) administrative actions.
* </li>
* <li>
* The {@link org.apache.hadoop.registry.server.services.MicroZookeeperService}
@ -33,8 +34,6 @@
* extends the standard YARN composite service by making its add and remove
* methods public. It is a utility service used in parts of the codebase
* </li>
*
* </ul>
*
*/
package org.apache.hadoop.registry.server.services;

View File

@ -45,17 +45,15 @@ import org.apache.hadoop.yarn.security.client.TimelineDelegationTokenIdentifier;
import com.google.common.annotations.VisibleForTesting;
/**
* <p>
* Initializes {@link TimelineAuthenticationFilter} which provides support for
* Kerberos HTTP SPNEGO authentication.
* <p/>
* <p>
* It enables Kerberos HTTP SPNEGO plus delegation token authentication for the
* timeline server.
* <p/>
* Refer to the <code>core-default.xml</code> file, after the comment 'HTTP
* <p>
* Refer to the {@code core-default.xml} file, after the comment 'HTTP
* Authentication' for details on the configuration options. All related
* configuration properties have 'hadoop.http.authentication.' as prefix.
* configuration properties have {@code hadoop.http.authentication.} as prefix.
*/
public class TimelineAuthenticationFilterInitializer extends FilterInitializer {
@ -71,14 +69,11 @@ public class TimelineAuthenticationFilterInitializer extends FilterInitializer {
Map<String, String> filterConfig;
/**
* <p>
* Initializes {@link TimelineAuthenticationFilter}
* <p/>
* <p>
* Propagates to {@link TimelineAuthenticationFilter} configuration all YARN
* configuration properties prefixed with
* "yarn.timeline-service.authentication."
* </p>
* {@code yarn.timeline-service.authentication.}
*
* @param container
* The filter container

View File

@ -40,7 +40,7 @@ public class ZKClient {
* the zookeeper client library to
* talk to zookeeper
* @param string the host
* @throws throws IOException
* @throws IOException
*/
public ZKClient(String string) throws IOException {
zkClient = new ZooKeeper(string, 30000, new ZKWatcher());

View File

@ -52,7 +52,8 @@ public abstract class RegisterNodeManagerRequest {
* We introduce this here because currently YARN RM doesn't persist nodes info
* for application running. When RM restart happened, we cannot determinate if
* a node should do application cleanup (like log-aggregation, status update,
* etc.) or not. <p/>
* etc.) or not.
* <p>
* When we have this running application list in node manager register
* request, we can recover nodes info for running applications. And then we
* can take actions accordingly

View File

@ -26,19 +26,17 @@ import org.apache.hadoop.yarn.api.records.NodeReport;
import org.apache.hadoop.yarn.util.Records;
/**
* <p><code>NodeHealthStatus</code> is a summary of the health status of the
* node.</p>
*
* <p>It includes information such as:
* <ul>
* <li>
* An indicator of whether the node is healthy, as determined by the
* health-check script.
* </li>
* <li>The previous time at which the health status was reported.</li>
* <li>A diagnostic report on the health status.</li>
* </ul>
* </p>
* {@code NodeHealthStatus} is a summary of the health status of the node.
* <p>
* It includes information such as:
* <ul>
* <li>
* An indicator of whether the node is healthy, as determined by the
* health-check script.
* </li>
* <li>The previous time at which the health status was reported.</li>
* <li>A diagnostic report on the health status.</li>
* </ul>
*
* @see NodeReport
* @see ApplicationClientProtocol#getClusterNodes(org.apache.hadoop.yarn.api.protocolrecords.GetClusterNodesRequest)

View File

@ -102,13 +102,15 @@ public abstract class ContainerExecutor implements Configurable {
/**
* Prepare the environment for containers in this application to execute.
* <pre>
* For $x in local.dirs
* create $x/$user/$appId
* Copy $nmLocal/appTokens -> $N/$user/$appId
* Copy $nmLocal/appTokens {@literal ->} $N/$user/$appId
* For $rsrc in private resources
* Copy $rsrc -> $N/$user/filecache/[idef]
* Copy $rsrc {@literal ->} $N/$user/filecache/[idef]
* For $rsrc in job resources
* Copy $rsrc -> $N/$user/$appId/filecache/idef
* Copy $rsrc {@literal ->} $N/$user/$appId/filecache/idef
* </pre>
* @param user user name of application owner
* @param appId id of the application
* @param nmPrivateContainerTokens path to localized credentials, rsrc by NM

View File

@ -65,11 +65,11 @@ public class NodeManagerHardwareUtils {
}
/**
* Gets the percentage of physical CPU that is configured for YARN containers
* This is percent > 0 and <= 100 based on
* YarnConfiguration.NM_RESOURCE_PERCENTAGE_PHYSICAL_CPU_LIMIT
* Gets the percentage of physical CPU that is configured for YARN containers.
* This is percent {@literal >} 0 and {@literal <=} 100 based on
* {@link YarnConfiguration#NM_RESOURCE_PERCENTAGE_PHYSICAL_CPU_LIMIT}
* @param conf Configuration object
* @return percent > 0 and <= 100
* @return percent {@literal >} 0 and {@literal <=} 100
*/
public static int getNodeCpuPercentage(Configuration conf) {
int nodeCpuPercentage =

View File

@ -216,11 +216,14 @@ public interface RMAppAttempt extends EventHandler<RMAppAttemptEvent> {
/**
* Return the flag which indicates whether the attempt failure should be
* counted to attempt retry count.
* <ul>
* <p>
* There failure types should not be counted to attempt retry count:
* <li>preempted by the scheduler.</li>
* <li>hardware failures, such as NM failing, lost NM and NM disk errors.</li>
* <li>killed by RM because of RM restart or failover.</li>
* <ul>
* <li>preempted by the scheduler.</li>
* <li>
* hardware failures, such as NM failing, lost NM and NM disk errors.
* </li>
* <li>killed by RM because of RM restart or failover.</li>
* </ul>
*/
boolean shouldCountTowardsMaxAttemptRetry();

View File

@ -114,7 +114,7 @@ public abstract class SchedulerNode {
/**
* Get the name of the node for scheduling matching decisions.
* <p/>
* <p>
* Typically this is the 'hostname' reported by the node, but it could be
* configured to be 'hostname:port' reported by the node via the
* {@link YarnConfiguration#RM_SCHEDULER_INCLUDE_PORT_IN_NODE_NAME} constant.

View File

@ -194,8 +194,7 @@ public class SchedulerUtils {
* Utility method to validate a resource request, by insuring that the
* requested memory/vcore is non-negative and not greater than max
*
* @throws <code>InvalidResourceRequestException</code> when there is invalid
* request
* @throws InvalidResourceRequestException when there is invalid request
*/
public static void validateResourceRequest(ResourceRequest resReq,
Resource maximumResource, String queueName, YarnScheduler scheduler)

View File

@ -71,7 +71,7 @@ public class ComputeFairShares {
* fair shares. The min and max shares and of the Schedulables are assumed to
* be set beforehand. We compute the fairest possible allocation of shares to
* the Schedulables that respects their min and max shares.
*
* <p>
* To understand what this method does, we must first define what weighted
* fair sharing means in the presence of min and max shares. If there
* were no minimum or maximum shares, then weighted fair sharing would be
@ -79,30 +79,31 @@ public class ComputeFairShares {
* Schedulable and all slots were assigned. Minimum and maximum shares add a
* further twist - Some Schedulables may have a min share higher than their
* assigned share or a max share lower than their assigned share.
*
* <p>
* To deal with these possibilities, we define an assignment of slots as being
* fair if there exists a ratio R such that: Schedulables S where S.minShare
* > R * S.weight are given share S.minShare - Schedulables S where S.maxShare
* < R * S.weight are given S.maxShare - All other Schedulables S are
* assigned share R * S.weight - The sum of all the shares is totalSlots.
*
* {@literal >} R * S.weight are given share S.minShare - Schedulables S
* where S.maxShare {@literal <} R * S.weight are given S.maxShare -
* All other Schedulables S are assigned share R * S.weight -
* The sum of all the shares is totalSlots.
* <p>
* We call R the weight-to-slots ratio because it converts a Schedulable's
* weight to the number of slots it is assigned.
*
* <p>
* We compute a fair allocation by finding a suitable weight-to-slot ratio R.
* To do this, we use binary search. Given a ratio R, we compute the number of
* slots that would be used in total with this ratio (the sum of the shares
* computed using the conditions above). If this number of slots is less than
* totalSlots, then R is too small and more slots could be assigned. If the
* number of slots is more than totalSlots, then R is too large.
*
* <p>
* We begin the binary search with a lower bound on R of 0 (which means that
* all Schedulables are only given their minShare) and an upper bound computed
* to be large enough that too many slots are given (by doubling R until we
* use more than totalResources resources). The helper method
* resourceUsedWithWeightToResourceRatio computes the total resources used with a
* given value of R.
*
* <p>
* The running time of this algorithm is linear in the number of Schedulables,
* because resourceUsedWithWeightToResourceRatio is linear-time and the number of
* iterations of binary search is a constant (dependent on desired precision).

View File

@ -364,7 +364,6 @@ public class DelegationTokenRenewer extends AbstractService {
* @param shouldCancelAtEnd true if tokens should be canceled when the app is
* done else false.
* @param user user
* @throws IOException
*/
public void addApplicationAsync(ApplicationId applicationId, Credentials ts,
boolean shouldCancelAtEnd, String user) {
@ -634,7 +633,6 @@ public class DelegationTokenRenewer extends AbstractService {
/**
* removing failed DT
* @param applicationId
*/
private void removeFailedDelegationToken(DelegationTokenToRenew t) {
ApplicationId applicationId = t.applicationId;

View File

@ -181,7 +181,7 @@ public class ProxyUriUtils {
/**
* Returns the scheme if present in the url
* eg. "https://issues.apache.org/jira/browse/YARN" > "https"
* eg. "https://issues.apache.org/jira/browse/YARN" {@literal ->} "https"
*/
public static String getSchemeFromUrl(String url) {
int index = 0;