<!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_292) on Tue Jun 15 06:12:41 GMT 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Deprecated List (Apache Hadoop YARN Client 3.3.1 API)</title>
<meta name="date" content="2021-06-15">
<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="Deprecated List (Apache Hadoop YARN Client 3.3.1 API)";
        }
    }
    catch(err) {
    }
//-->
</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>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li class="navBarCell1Rev">Deprecated</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</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?deprecated-list.html" target="_top">Frames</a></li>
<li><a href="deprecated-list.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="allclasses-noframe.html">All&nbsp;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>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 title="Deprecated API" class="title">Deprecated API</h1>
<h2 title="Contents">Contents</h2>
<ul>
<li><a href="#interface">Deprecated Interfaces</a></li>
<li><a href="#method">Deprecated Methods</a></li>
<li><a href="#constructor">Deprecated Constructors</a></li>
</ul>
</div>
<div class="contentContainer"><a name="interface">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Interfaces table, listing deprecated interfaces, and an explanation">
<caption><span>Deprecated Interfaces</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Interface and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/yarn/client/api/async/AMRMClientAsync.CallbackHandler.html" title="interface in org.apache.hadoop.yarn.client.api.async">org.apache.hadoop.yarn.client.api.async.AMRMClientAsync.CallbackHandler</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/hadoop/yarn/client/api/async/AMRMClientAsync.AbstractCallbackHandler.html" title="class in org.apache.hadoop.yarn.client.api.async"><code>AMRMClientAsync.AbstractCallbackHandler</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/yarn/client/api/async/NMClientAsync.CallbackHandler.html" title="interface in org.apache.hadoop.yarn.client.api.async">org.apache.hadoop.yarn.client.api.async.NMClientAsync.CallbackHandler</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/hadoop/yarn/client/api/async/NMClientAsync.AbstractCallbackHandler.html" title="class in org.apache.hadoop.yarn.client.api.async"><code>NMClientAsync.AbstractCallbackHandler</code></a> instead.

 <p>
 The callback interface needs to be implemented by <a href="org/apache/hadoop/yarn/client/api/async/NMClientAsync.html" title="class in org.apache.hadoop.yarn.client.api.async"><code>NMClientAsync</code></a>
 users. The APIs are called when responses from <code>NodeManager</code> are
 available.
 </p>

 <p>
 Once a callback happens, the users can chose to act on it in blocking or
 non-blocking manner. If the action on callback is done in a blocking
 manner, some of the threads performing requests on NodeManagers may get
 blocked depending on how many threads in the pool are busy.
 </p>

 <p>
 The implementation of the callback function should not throw the
 unexpected exception. Otherwise, <a href="org/apache/hadoop/yarn/client/api/async/NMClientAsync.html" title="class in org.apache.hadoop.yarn.client.api.async"><code>NMClientAsync</code></a> will just
 catch, log and then ignore it.
 </p></span></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="method">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Methods table, listing deprecated methods, and an explanation">
<caption><span>Deprecated Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Method and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/yarn/client/api/async/AMRMClientAsync.html#createAMRMClientAsync-org.apache.hadoop.yarn.client.api.AMRMClient-int-org.apache.hadoop.yarn.client.api.async.AMRMClientAsync.CallbackHandler-">org.apache.hadoop.yarn.client.api.async.AMRMClientAsync.createAMRMClientAsync(AMRMClient&lt;T&gt;, int, AMRMClientAsync.CallbackHandler)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/hadoop/yarn/client/api/async/AMRMClientAsync.html#createAMRMClientAsync-org.apache.hadoop.yarn.client.api.AMRMClient-int-org.apache.hadoop.yarn.client.api.async.AMRMClientAsync.AbstractCallbackHandler-"><code>AMRMClientAsync.createAMRMClientAsync(AMRMClient,
             int, AMRMClientAsync.AbstractCallbackHandler)</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/yarn/client/api/async/AMRMClientAsync.html#createAMRMClientAsync-int-org.apache.hadoop.yarn.client.api.async.AMRMClientAsync.CallbackHandler-">org.apache.hadoop.yarn.client.api.async.AMRMClientAsync.createAMRMClientAsync(int, AMRMClientAsync.CallbackHandler)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/hadoop/yarn/client/api/async/AMRMClientAsync.html#createAMRMClientAsync-int-org.apache.hadoop.yarn.client.api.async.AMRMClientAsync.AbstractCallbackHandler-"><code>AMRMClientAsync.createAMRMClientAsync(int,
             AMRMClientAsync.AbstractCallbackHandler)</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/yarn/client/api/async/NMClientAsync.html#createNMClientAsync-org.apache.hadoop.yarn.client.api.async.NMClientAsync.CallbackHandler-">org.apache.hadoop.yarn.client.api.async.NMClientAsync.createNMClientAsync(NMClientAsync.CallbackHandler)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/hadoop/yarn/client/api/async/NMClientAsync.html#createNMClientAsync-org.apache.hadoop.yarn.client.api.async.NMClientAsync.AbstractCallbackHandler-"><code>NMClientAsync.createNMClientAsync(AbstractCallbackHandler)</code></a>
             instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/yarn/client/api/NMClient.html#increaseContainerResource-org.apache.hadoop.yarn.api.records.Container-">org.apache.hadoop.yarn.client.api.NMClient.increaseContainerResource(Container)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/yarn/client/api/impl/NMClientImpl.html#increaseContainerResource-org.apache.hadoop.yarn.api.records.Container-">org.apache.hadoop.yarn.client.api.impl.NMClientImpl.increaseContainerResource(Container)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/yarn/client/api/async/NMClientAsync.html#increaseContainerResourceAsync-org.apache.hadoop.yarn.api.records.Container-">org.apache.hadoop.yarn.client.api.async.NMClientAsync.increaseContainerResourceAsync(Container)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/yarn/client/api/async/impl/NMClientAsyncImpl.html#increaseContainerResourceAsync-org.apache.hadoop.yarn.api.records.Container-">org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl.increaseContainerResourceAsync(Container)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/yarn/client/api/async/NMClientAsync.AbstractCallbackHandler.html#onContainerResourceIncreased-org.apache.hadoop.yarn.api.records.ContainerId-org.apache.hadoop.yarn.api.records.Resource-">org.apache.hadoop.yarn.client.api.async.NMClientAsync.AbstractCallbackHandler.onContainerResourceIncreased(ContainerId, Resource)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/yarn/client/api/async/NMClientAsync.AbstractCallbackHandler.html#onIncreaseContainerResourceError-org.apache.hadoop.yarn.api.records.ContainerId-java.lang.Throwable-">org.apache.hadoop.yarn.client.api.async.NMClientAsync.AbstractCallbackHandler.onIncreaseContainerResourceError(ContainerId, Throwable)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/yarn/client/api/async/AMRMClientAsync.html#requestContainerResourceChange-org.apache.hadoop.yarn.api.records.Container-org.apache.hadoop.yarn.api.records.Resource-">org.apache.hadoop.yarn.client.api.async.AMRMClientAsync.requestContainerResourceChange(Container, Resource)</a>
<div class="block"><span class="deprecationComment">use
 <a href="org/apache/hadoop/yarn/client/api/async/AMRMClientAsync.html#requestContainerUpdate-org.apache.hadoop.yarn.api.records.Container-org.apache.hadoop.yarn.api.records.UpdateContainerRequest-"><code>AMRMClientAsync.requestContainerUpdate(Container, UpdateContainerRequest)</code></a></span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/yarn/client/api/AMRMClient.html#requestContainerResourceChange-org.apache.hadoop.yarn.api.records.Container-org.apache.hadoop.yarn.api.records.Resource-">org.apache.hadoop.yarn.client.api.AMRMClient.requestContainerResourceChange(Container, Resource)</a>
<div class="block"><span class="deprecationComment">use
 <a href="org/apache/hadoop/yarn/client/api/AMRMClient.html#requestContainerUpdate-org.apache.hadoop.yarn.api.records.Container-org.apache.hadoop.yarn.api.records.UpdateContainerRequest-"><code>AMRMClient.requestContainerUpdate(Container, UpdateContainerRequest)</code></a></span></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="constructor">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Constructors table, listing deprecated constructors, and an explanation">
<caption><span>Deprecated Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/yarn/client/api/async/AMRMClientAsync.html#AMRMClientAsync-org.apache.hadoop.yarn.client.api.AMRMClient-int-org.apache.hadoop.yarn.client.api.async.AMRMClientAsync.CallbackHandler-">org.apache.hadoop.yarn.client.api.async.AMRMClientAsync(AMRMClient&lt;T&gt;, int, AMRMClientAsync.CallbackHandler)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/yarn/client/api/async/AMRMClientAsync.html#AMRMClientAsync-int-org.apache.hadoop.yarn.client.api.async.AMRMClientAsync.CallbackHandler-">org.apache.hadoop.yarn.client.api.async.AMRMClientAsync(int, AMRMClientAsync.CallbackHandler)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/yarn/client/api/async/impl/AMRMClientAsyncImpl.html#AMRMClientAsyncImpl-org.apache.hadoop.yarn.client.api.AMRMClient-int-org.apache.hadoop.yarn.client.api.async.AMRMClientAsync.CallbackHandler-">org.apache.hadoop.yarn.client.api.async.impl.AMRMClientAsyncImpl(AMRMClient&lt;T&gt;, int, AMRMClientAsync.CallbackHandler)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/yarn/client/api/async/impl/AMRMClientAsyncImpl.html#AMRMClientAsyncImpl-int-org.apache.hadoop.yarn.client.api.async.AMRMClientAsync.CallbackHandler-">org.apache.hadoop.yarn.client.api.async.impl.AMRMClientAsyncImpl(int, AMRMClientAsync.CallbackHandler)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/hadoop/yarn/client/api/async/impl/AMRMClientAsyncImpl.html#AMRMClientAsyncImpl-int-org.apache.hadoop.yarn.client.api.async.AMRMClientAsync.AbstractCallbackHandler-"><code>AMRMClientAsyncImpl(int,
             AMRMClientAsync.AbstractCallbackHandler)</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/yarn/client/api/async/NMClientAsync.html#NMClientAsync-org.apache.hadoop.yarn.client.api.async.NMClientAsync.CallbackHandler-">org.apache.hadoop.yarn.client.api.async.NMClientAsync(NMClientAsync.CallbackHandler)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/hadoop/yarn/client/api/async/NMClientAsync.html#NMClientAsync-org.apache.hadoop.yarn.client.api.async.NMClientAsync.AbstractCallbackHandler-"><code>NMClientAsync(AbstractCallbackHandler)</code></a>
             instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/yarn/client/api/async/NMClientAsync.html#NMClientAsync-java.lang.String-org.apache.hadoop.yarn.client.api.async.NMClientAsync.CallbackHandler-">org.apache.hadoop.yarn.client.api.async.NMClientAsync(String, NMClientAsync.CallbackHandler)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/hadoop/yarn/client/api/async/NMClientAsync.html#NMClientAsync-java.lang.String-org.apache.hadoop.yarn.client.api.async.NMClientAsync.AbstractCallbackHandler-"><code>NMClientAsync(String, AbstractCallbackHandler)</code></a>
             instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/yarn/client/api/async/NMClientAsync.html#NMClientAsync-java.lang.String-org.apache.hadoop.yarn.client.api.NMClient-org.apache.hadoop.yarn.client.api.async.NMClientAsync.CallbackHandler-">org.apache.hadoop.yarn.client.api.async.NMClientAsync(String, NMClient, NMClientAsync.CallbackHandler)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/yarn/client/api/async/impl/NMClientAsyncImpl.html#NMClientAsyncImpl-org.apache.hadoop.yarn.client.api.async.NMClientAsync.CallbackHandler-">org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl(NMClientAsync.CallbackHandler)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/hadoop/yarn/client/api/async/impl/NMClientAsyncImpl.html#NMClientAsyncImpl-org.apache.hadoop.yarn.client.api.async.NMClientAsync.AbstractCallbackHandler-"><code>NMClientAsyncImpl(NMClientAsync.AbstractCallbackHandler)</code></a>
             instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/yarn/client/api/async/impl/NMClientAsyncImpl.html#NMClientAsyncImpl-java.lang.String-org.apache.hadoop.yarn.client.api.async.NMClientAsync.CallbackHandler-">org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl(String, NMClientAsync.CallbackHandler)</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/hadoop/yarn/client/api/async/impl/NMClientAsyncImpl.html#NMClientAsyncImpl-java.lang.String-org.apache.hadoop.yarn.client.api.async.NMClientAsync.AbstractCallbackHandler-"><code>NMClientAsyncImpl(String,
             NMClientAsync.AbstractCallbackHandler)</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/yarn/client/api/async/impl/NMClientAsyncImpl.html#NMClientAsyncImpl-java.lang.String-org.apache.hadoop.yarn.client.api.NMClient-org.apache.hadoop.yarn.client.api.async.NMClientAsync.CallbackHandler-">org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl(String, NMClient, NMClientAsync.CallbackHandler)</a></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<!-- ======= 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>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li class="navBarCell1Rev">Deprecated</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</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?deprecated-list.html" target="_top">Frames</a></li>
<li><a href="deprecated-list.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="allclasses-noframe.html">All&nbsp;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>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2021 <a href="https://www.apache.org">Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
