The interface used by clients to submit a new application to the ResourceManager.
The client is required to provide details such as queue, {@link Resource} required to run the ApplicationMaster
, the equivalent of {@link ContainerLaunchContext} for launchingthe ApplicationMaster
etc. via the {@link SubmitApplicationRequest}.
Currently the ResourceManager
sends an immediate (empty) {@link SubmitApplicationResponse} on accepting the submission and throws an exception if it rejects the submission. However, this call needs to be followed by {@link #getApplicationReport(GetApplicationReportRequest)}to make sure that the application gets properly submitted.
In secure mode,the ResourceManager
verifies access to queues etc. before accepting the application submission.
@param request request to submit a new application
@return (empty) response on accepting the submission
@throws YarnException
@throws IOException
@throws InvalidResourceRequestException The exception is thrown when a {@link ResourceRequest} is out ofthe range of the configured lower and upper resource boundaries.
@see #getNewApplication(GetNewApplicationRequest)