MISSING @SINCE TAG: org.apache.hadoop.yarn.client.cli.SchedConfCLI Class
NO DOC BLOCK: org.apache.hadoop.yarn.client.api.async.AMRMClientAsync Constructor (int, org.apache.hadoop.yarn.client.api.async.AMRMClientAsync.AbstractCallbackHandler)
NO DOC BLOCK: org.apache.hadoop.yarn.client.api.async.AMRMClientAsync Constructor (org.apache.hadoop.yarn.client.api.AMRMClient, int, org.apache.hadoop.yarn.client.api.async.AMRMClientAsync.AbstractCallbackHandler)
NO DOC BLOCK: org.apache.hadoop.yarn.client.api.async.NMClientAsync Constructor (java.lang.String, org.apache.hadoop.yarn.client.api.NMClient, org.apache.hadoop.yarn.client.api.async.NMClientAsync.AbstractCallbackHandler)
NO DOC BLOCK: org.apache.hadoop.yarn.client.api.async.NMClientAsync Constructor (java.lang.String, org.apache.hadoop.yarn.client.api.async.NMClientAsync.AbstractCallbackHandler)
NO DOC BLOCK: org.apache.hadoop.yarn.client.api.async.NMClientAsync Constructor (org.apache.hadoop.yarn.client.api.async.NMClientAsync.AbstractCallbackHandler)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.AMRMClient Method addSchedulingRequests(java.util.Collection)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.async.AMRMClientAsync Method addSchedulingRequests(java.util.Collection)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.NMClient Method commitLastReInitialization(org.apache.hadoop.yarn.api.records.ContainerId)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.async.NMClientAsync Method commitLastReInitializationAsync(org.apache.hadoop.yarn.api.records.ContainerId)
NO DOC BLOCK: org.apache.hadoop.yarn.client.api.AHSClient Method createAHSv2Client()
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.async.AMRMClientAsync Method createAMRMClientAsync(int, org.apache.hadoop.yarn.client.api.async.AMRMClientAsync.AbstractCallbackHandler)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.async.AMRMClientAsync Method createAMRMClientAsync(org.apache.hadoop.yarn.client.api.AMRMClient, int, org.apache.hadoop.yarn.client.api.async.AMRMClientAsync.AbstractCallbackHandler)
NO DOC BLOCK: org.apache.hadoop.yarn.client.api.async.NMClientAsync Method createNMClientAsync(org.apache.hadoop.yarn.client.api.async.NMClientAsync.AbstractCallbackHandler)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.YarnClient Method createReservation()
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.YarnClient Method failApplicationAttempt(org.apache.hadoop.yarn.api.records.ApplicationAttemptId)
NO DOC BLOCK: org.apache.hadoop.yarn.client.cli.LogsCLI Method getAMContainerInfoForRMWebService(org.apache.hadoop.conf.Configuration, java.lang.String)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.YarnClient Method getApplications(org.apache.hadoop.yarn.api.protocolrecords.GetApplicationsRequest)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.YarnClient Method getApplications(java.util.Set, java.util.EnumSet, java.util.Set)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.YarnClient Method getApplications(java.util.Set, java.util.Set, java.util.Set, java.util.EnumSet)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.YarnClient Method getAttributesToNodes(java.util.Set)
NO DOC BLOCK: org.apache.hadoop.yarn.client.cli.LogsCLI Method getClientResponseFromTimelineReader(org.apache.hadoop.conf.Configuration, java.lang.String)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.YarnClient Method getClusterAttributes()
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.NMClient Method getLocalizationStatuses(org.apache.hadoop.yarn.api.records.ContainerId, org.apache.hadoop.yarn.api.records.NodeId)
NO DOC BLOCK: org.apache.hadoop.yarn.client.cli.LogsCLI Method getMatchedContainerLogFiles(org.apache.hadoop.yarn.logaggregation.ContainerLogsRequest, boolean, boolean)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.AMRMClient Method getMatchingRequests(long)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.AMRMClient Method getMatchingRequests(org.apache.hadoop.yarn.api.records.Priority, java.lang.String, org.apache.hadoop.yarn.api.records.ExecutionType, org.apache.hadoop.yarn.api.records.Resource)
NO DOC BLOCK: org.apache.hadoop.yarn.client.api.AMRMClient Method getMatchingRequests(org.apache.hadoop.yarn.api.records.Priority, java.lang.String, org.apache.hadoop.yarn.api.records.ExecutionType, org.apache.hadoop.yarn.api.records.Resource, java.lang.String)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.async.AMRMClientAsync Method getMatchingRequests(long)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.async.AMRMClientAsync Method getMatchingRequests(org.apache.hadoop.yarn.api.records.Priority, java.lang.String, org.apache.hadoop.yarn.api.records.ExecutionType, org.apache.hadoop.yarn.api.records.Resource)
NO DOC BLOCK: org.apache.hadoop.yarn.client.cli.LogsCLI Method getNodeHttpAddressFromRMWebString(org.apache.hadoop.yarn.logaggregation.ContainerLogsRequest)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.NMClient Method getNodeIdOfStartedContainer(org.apache.hadoop.yarn.api.records.ContainerId)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.YarnClient Method getNodeToAttributes(java.util.Set)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.AMRMClient Method getRegisteredTimelineV2Client()
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.async.AMRMClientAsync Method getRegisteredTimelineV2Client()
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.YarnClient Method getResourceProfile(java.lang.String)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.YarnClient Method getResourceProfiles()
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.YarnClient Method getResourceTypeInfo()
NO DOC BLOCK: org.apache.hadoop.yarn.client.cli.LogsCLI Method getResponseFromNMWebService(org.apache.hadoop.conf.Configuration, com.sun.jersey.api.client.Client, org.apache.hadoop.yarn.logaggregation.ContainerLogsRequest, java.lang.String)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.NMClient Method increaseContainerResource(org.apache.hadoop.yarn.api.records.Container)
NO DOC BLOCK: org.apache.hadoop.yarn.client.api.async.NMClientAsync Method increaseContainerResourceAsync(org.apache.hadoop.yarn.api.records.Container)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.YarnClient Method killApplication(org.apache.hadoop.yarn.api.records.ApplicationId, java.lang.String)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.YarnClient Method listReservations(org.apache.hadoop.yarn.api.protocolrecords.ReservationListRequest)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.NMClient Method localize(org.apache.hadoop.yarn.api.records.ContainerId, org.apache.hadoop.yarn.api.records.NodeId, java.util.Map)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.AMRMClient Method registerApplicationMaster(java.lang.String, int, java.lang.String, java.util.Map)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.async.AMRMClientAsync Method registerApplicationMaster(java.lang.String, int, java.lang.String, java.util.Map)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.AMRMClient Method registerTimelineV2Client(org.apache.hadoop.yarn.client.api.TimelineV2Client)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.async.AMRMClientAsync Method registerTimelineV2Client(org.apache.hadoop.yarn.client.api.TimelineV2Client)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.NMClient Method reInitializeContainer(org.apache.hadoop.yarn.api.records.ContainerId, org.apache.hadoop.yarn.api.records.ContainerLaunchContext, boolean)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.async.NMClientAsync Method reInitializeContainerAsync(org.apache.hadoop.yarn.api.records.ContainerId, org.apache.hadoop.yarn.api.records.ContainerLaunchContext, boolean)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.AMRMClient Method requestContainerResourceChange(org.apache.hadoop.yarn.api.records.Container, org.apache.hadoop.yarn.api.records.Resource)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.async.AMRMClientAsync Method requestContainerResourceChange(org.apache.hadoop.yarn.api.records.Container, org.apache.hadoop.yarn.api.records.Resource)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.AMRMClient Method requestContainerUpdate(org.apache.hadoop.yarn.api.records.Container, org.apache.hadoop.yarn.api.records.UpdateContainerRequest)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.async.AMRMClientAsync Method requestContainerUpdate(org.apache.hadoop.yarn.api.records.Container, org.apache.hadoop.yarn.api.records.UpdateContainerRequest)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.NMClient Method restartContainer(org.apache.hadoop.yarn.api.records.ContainerId)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.async.NMClientAsync Method restartContainerAsync(org.apache.hadoop.yarn.api.records.ContainerId)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.NMClient Method rollbackLastReInitialization(org.apache.hadoop.yarn.api.records.ContainerId)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.async.NMClientAsync Method rollbackLastReInitializationAsync(org.apache.hadoop.yarn.api.records.ContainerId)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.YarnClient Method shellToContainer(org.apache.hadoop.yarn.api.records.ContainerId, org.apache.hadoop.yarn.api.records.ShellContainerCommand)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.YarnClient Method signalToContainer(org.apache.hadoop.yarn.api.records.ContainerId, org.apache.hadoop.yarn.api.records.SignalContainerCommand)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.YarnClient Method updateApplicationPriority(org.apache.hadoop.yarn.api.records.ApplicationId, org.apache.hadoop.yarn.api.records.Priority)
NO DOC BLOCK: org.apache.hadoop.yarn.client.api.YarnClient Method updateApplicationTimeouts(org.apache.hadoop.yarn.api.protocolrecords.UpdateApplicationTimeoutsRequest)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.NMClient Method updateContainerResource(org.apache.hadoop.yarn.api.records.Container)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.async.NMClientAsync Method updateContainerResourceAsync(org.apache.hadoop.yarn.api.records.Container)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.AMRMClient Method updateTrackingUrl(java.lang.String)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.async.AMRMClientAsync Method updateTrackingUrl(java.lang.String)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.AMRMClient Method waitFor(java.util.function.Supplier)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.AMRMClient Method waitFor(java.util.function.Supplier, int)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.AMRMClient Method waitFor(java.util.function.Supplier, int, int)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.async.AMRMClientAsync Method waitFor(java.util.function.Supplier)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.async.AMRMClientAsync Method waitFor(java.util.function.Supplier, int)
MISSING @SINCE TAG: org.apache.hadoop.yarn.client.api.async.AMRMClientAsync Method waitFor(java.util.function.Supplier, int, int)
