<!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 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Deprecated List (Apache HBase 3.0.0-SNAPSHOT API)</title>
<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 HBase 3.0.0-SNAPSHOT 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="#class">Deprecated Classes</a></li>
<li><a href="#exception">Deprecated Exceptions</a></li>
<li><a href="#field">Deprecated Fields</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/hbase/ipc/CoprocessorRpcChannel.html" title="interface in org.apache.hadoop.hbase.ipc">org.apache.hadoop.hbase.ipc.CoprocessorRpcChannel</a>
<div class="block"><span class="deprecationComment">Please stop using this class again, as it is too low level, which is part of the rpc
             framework for HBase. Will be deleted in 4.0.0.</span></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="class">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Classes table, listing deprecated classes, and an explanation">
<caption><span>Deprecated Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Class and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/AuthUtil.html" title="class in org.apache.hadoop.hbase">org.apache.hadoop.hbase.AuthUtil</a>
<div class="block"><span class="deprecationComment">since 2.2.0, to be marked as
  <code>InterfaceAudience.Private</code> in 4.0.0.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html" title="class in org.apache.hadoop.hbase.filter">org.apache.hadoop.hbase.filter.FirstKeyValueMatchingQualifiersFilter</a>
<div class="block"><span class="deprecationComment">Deprecated in 2.0.0 and will be removed in 3.0.0.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/LogQueryFilter.html" title="class in org.apache.hadoop.hbase.client">org.apache.hadoop.hbase.client.LogQueryFilter</a>
<div class="block"><span class="deprecationComment">as of 2.4.0. Will be removed in 4.0.0.</span></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="exception">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Exceptions table, listing deprecated exceptions, and an explanation">
<caption><span>Deprecated Exceptions</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Exceptions and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/exceptions/PreemptiveFastFailException.html" title="class in org.apache.hadoop.hbase.exceptions">org.apache.hadoop.hbase.exceptions.PreemptiveFastFailException</a>
<div class="block"><span class="deprecationComment">since 2.3.0, and will be removed in 4.0.0.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/regionserver/RowTooBigException.html" title="class in org.apache.hadoop.hbase.regionserver">org.apache.hadoop.hbase.regionserver.RowTooBigException</a>
<div class="block"><span class="deprecationComment">since 0.99.0. Use <a href="org/apache/hadoop/hbase/client/RowTooBigException.html" title="class in org.apache.hadoop.hbase.client"><code>RowTooBigException</code></a> instead.</span></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="field">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Fields table, listing deprecated fields, and an explanation">
<caption><span>Deprecated Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Field and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/types/OrderedString.html#ASCENDING">org.apache.hadoop.hbase.types.OrderedString.ASCENDING</a>
<div class="block"><span class="deprecationComment">since 3.0.0 and will be removed in 4.0.0</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/types/OrderedBlob.html#ASCENDING">org.apache.hadoop.hbase.types.OrderedBlob.ASCENDING</a>
<div class="block"><span class="deprecationComment">since 3.0.0 and will be removed in 4.0.0</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/types/OrderedInt8.html#ASCENDING">org.apache.hadoop.hbase.types.OrderedInt8.ASCENDING</a>
<div class="block"><span class="deprecationComment">since 3.0.0 and will be removed in 4.0.0</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/types/RawString.html#ASCENDING">org.apache.hadoop.hbase.types.RawString.ASCENDING</a>
<div class="block"><span class="deprecationComment">since 3.0.0 and will be removed in 4.0.0</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/types/OrderedFloat64.html#ASCENDING">org.apache.hadoop.hbase.types.OrderedFloat64.ASCENDING</a>
<div class="block"><span class="deprecationComment">since 3.0.0 and will be removed in 4.0.0</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/types/RawBytes.html#ASCENDING">org.apache.hadoop.hbase.types.RawBytes.ASCENDING</a>
<div class="block"><span class="deprecationComment">since 3.0.0 and will be removed in 4.0.0</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/types/OrderedInt32.html#ASCENDING">org.apache.hadoop.hbase.types.OrderedInt32.ASCENDING</a>
<div class="block"><span class="deprecationComment">since 3.0.0 and will be removed in 4.0.0</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/types/OrderedInt64.html#ASCENDING">org.apache.hadoop.hbase.types.OrderedInt64.ASCENDING</a>
<div class="block"><span class="deprecationComment">since 3.0.0 and will be removed in 4.0.0</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/types/OrderedFloat32.html#ASCENDING">org.apache.hadoop.hbase.types.OrderedFloat32.ASCENDING</a>
<div class="block"><span class="deprecationComment">since 3.0.0 and will be removed in 4.0.0</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/types/OrderedInt16.html#ASCENDING">org.apache.hadoop.hbase.types.OrderedInt16.ASCENDING</a>
<div class="block"><span class="deprecationComment">since 3.0.0 and will be removed in 4.0.0</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/types/OrderedNumeric.html#ASCENDING">org.apache.hadoop.hbase.types.OrderedNumeric.ASCENDING</a>
<div class="block"><span class="deprecationComment">since 3.0.0 and will be removed in 4.0.0</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/types/OrderedBlobVar.html#ASCENDING">org.apache.hadoop.hbase.types.OrderedBlobVar.ASCENDING</a>
<div class="block"><span class="deprecationComment">since 3.0.0 and will be removed in 4.0.0</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/BufferedMutator.html#CLASSNAME_KEY">org.apache.hadoop.hbase.client.BufferedMutator.CLASSNAME_KEY</a>
<div class="block"><span class="deprecationComment">Since 3.0.0, will be removed in 4.0.0. For internal test use only, do not use it
             any more.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HConstants.html#DEFAULT_HBASE_SPLIT_COORDINATED_BY_ZK">org.apache.hadoop.hbase.HConstants.DEFAULT_HBASE_SPLIT_COORDINATED_BY_ZK</a>
<div class="block"><span class="deprecationComment">since 2.4.0 and in 3.0.0, to be removed in 4.0.0.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HConstants.html#DEFAULT_META_REPLICA_NUM">org.apache.hadoop.hbase.HConstants.DEFAULT_META_REPLICA_NUM</a>
<div class="block"><span class="deprecationComment">Since 2.4.0, will be removed in 4.0.0. Please change the meta replicas number by
             altering meta table, i.e, set a new 'region replication' number and call
             modifyTable.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/types/OrderedString.html#DESCENDING">org.apache.hadoop.hbase.types.OrderedString.DESCENDING</a>
<div class="block"><span class="deprecationComment">since 3.0.0 and will be removed in 4.0.0</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/types/OrderedBlob.html#DESCENDING">org.apache.hadoop.hbase.types.OrderedBlob.DESCENDING</a>
<div class="block"><span class="deprecationComment">since 3.0.0 and will b removed in 4.0.0</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/types/OrderedInt8.html#DESCENDING">org.apache.hadoop.hbase.types.OrderedInt8.DESCENDING</a>
<div class="block"><span class="deprecationComment">since 3.0.0 and will be removed in 4.0.0</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/types/RawString.html#DESCENDING">org.apache.hadoop.hbase.types.RawString.DESCENDING</a>
<div class="block"><span class="deprecationComment">since 3.0.0 and will be removed in 4.0.0</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/types/OrderedFloat64.html#DESCENDING">org.apache.hadoop.hbase.types.OrderedFloat64.DESCENDING</a>
<div class="block"><span class="deprecationComment">since 3.0.0 and will be removed in 4.0.0</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/types/RawBytes.html#DESCENDING">org.apache.hadoop.hbase.types.RawBytes.DESCENDING</a>
<div class="block"><span class="deprecationComment">since 3.0.0 and will be removed in 4.0.0</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/types/OrderedInt32.html#DESCENDING">org.apache.hadoop.hbase.types.OrderedInt32.DESCENDING</a>
<div class="block"><span class="deprecationComment">since 3.0.0 and will be removed in 4.0.0</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/types/OrderedInt64.html#DESCENDING">org.apache.hadoop.hbase.types.OrderedInt64.DESCENDING</a>
<div class="block"><span class="deprecationComment">since 3.0.0 and will be removed in 4.0.0</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/types/OrderedFloat32.html#DESCENDING">org.apache.hadoop.hbase.types.OrderedFloat32.DESCENDING</a>
<div class="block"><span class="deprecationComment">since 3.0.0 and will be removed in 4.0.0</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/types/OrderedInt16.html#DESCENDING">org.apache.hadoop.hbase.types.OrderedInt16.DESCENDING</a>
<div class="block"><span class="deprecationComment">since 3.0.0 and will be removed in 4.0.0</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/types/OrderedNumeric.html#DESCENDING">org.apache.hadoop.hbase.types.OrderedNumeric.DESCENDING</a>
<div class="block"><span class="deprecationComment">since 3.0.0 and will be removed in 4.0.0</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/types/OrderedBlobVar.html#DESCENDING">org.apache.hadoop.hbase.types.OrderedBlobVar.DESCENDING</a>
<div class="block"><span class="deprecationComment">since 3.0.0 and will be removed in 4.0.0</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/mapreduce/SimpleTotalOrderPartitioner.html#END">org.apache.hadoop.hbase.mapreduce.SimpleTotalOrderPartitioner.END</a>
<div class="block"><span class="deprecationComment">since 0.90.0</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HConstants.html#HBASE_CLIENT_ENABLE_FAST_FAIL_MODE_DEFAULT">org.apache.hadoop.hbase.HConstants.HBASE_CLIENT_ENABLE_FAST_FAIL_MODE_DEFAULT</a>
<div class="block"><span class="deprecationComment">since 2.3.0, and in 3.0.0 the actually implementation will be removed so config
             this value will have no effect. The constants itself will be removed in 4.0.0.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HConstants.html#HBASE_CLIENT_FAILURE_MAP_CLEANUP_INTERVAL_MS">org.apache.hadoop.hbase.HConstants.HBASE_CLIENT_FAILURE_MAP_CLEANUP_INTERVAL_MS</a>
<div class="block"><span class="deprecationComment">since 2.3.0, and in 3.0.0 the actually implementation will be removed so config
             this value will have no effect. The constants itself will be removed in 4.0.0.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HConstants.html#HBASE_CLIENT_FAILURE_MAP_CLEANUP_INTERVAL_MS_DEFAULT">org.apache.hadoop.hbase.HConstants.HBASE_CLIENT_FAILURE_MAP_CLEANUP_INTERVAL_MS_DEFAULT</a>
<div class="block"><span class="deprecationComment">since 2.3.0, and in 3.0.0 the actually implementation will be removed so config
             this value will have no effect. The constants itself will be removed in 4.0.0.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HConstants.html#HBASE_CLIENT_FAST_FAIL_CLEANUP_DURATION_MS_DEFAULT">org.apache.hadoop.hbase.HConstants.HBASE_CLIENT_FAST_FAIL_CLEANUP_DURATION_MS_DEFAULT</a>
<div class="block"><span class="deprecationComment">since 2.3.0, and in 3.0.0 the actually implementation will be removed so config
             this value will have no effect. The constants itself will be removed in 4.0.0.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HConstants.html#HBASE_CLIENT_FAST_FAIL_CLEANUP_MS_DURATION_MS">org.apache.hadoop.hbase.HConstants.HBASE_CLIENT_FAST_FAIL_CLEANUP_MS_DURATION_MS</a>
<div class="block"><span class="deprecationComment">since 2.3.0, and in 3.0.0 the actually implementation will be removed so config
             this value will have no effect. The constants itself will be removed in 4.0.0.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HConstants.html#HBASE_CLIENT_FAST_FAIL_INTERCEPTOR_IMPL">org.apache.hadoop.hbase.HConstants.HBASE_CLIENT_FAST_FAIL_INTERCEPTOR_IMPL</a>
<div class="block"><span class="deprecationComment">since 2.3.0, and in 3.0.0 the actually implementation will be removed so config
             this value will have no effect. The constants itself will be removed in 4.0.0.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HConstants.html#HBASE_CLIENT_FAST_FAIL_MODE_ENABLED">org.apache.hadoop.hbase.HConstants.HBASE_CLIENT_FAST_FAIL_MODE_ENABLED</a>
<div class="block"><span class="deprecationComment">since 2.3.0, and in 3.0.0 the actually implementation will be removed so config
             this value will have no effect. The constants itself will be removed in 4.0.0.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HConstants.html#HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS">org.apache.hadoop.hbase.HConstants.HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS</a>
<div class="block"><span class="deprecationComment">since 2.3.0, and in 3.0.0 the actually implementation will be removed so config
             this value will have no effect. The constants itself will be removed in 4.0.0.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HConstants.html#HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS_DEFAULT">org.apache.hadoop.hbase.HConstants.HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS_DEFAULT</a>
<div class="block"><span class="deprecationComment">since 2.3.0, and in 3.0.0 the actually implementation will be removed so config
             this value will have no effect. The constants itself will be removed in 4.0.0.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HConstants.html#HBASE_NON_USER_TABLE_DIRS">org.apache.hadoop.hbase.HConstants.HBASE_NON_USER_TABLE_DIRS</a>
<div class="block"><span class="deprecationComment">Since hbase-2.3.0; no replacement as not used any more (internally at least)</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HConstants.html#HBASE_SPLIT_WAL_COORDINATED_BY_ZK">org.apache.hadoop.hbase.HConstants.HBASE_SPLIT_WAL_COORDINATED_BY_ZK</a>
<div class="block"><span class="deprecationComment">since 2.4.0 and in 3.0.0, to be removed in 4.0.0, replaced by procedure-based
   distributed WAL splitter; see SplitWALManager.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/mapreduce/TableSplit.html#LOG">org.apache.hadoop.hbase.mapreduce.TableSplit.LOG</a>
<div class="block"><span class="deprecationComment">LOG variable would be made private. fix in hbase 3.0</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HConstants.html#MERGEA_QUALIFIER">org.apache.hadoop.hbase.HConstants.MERGEA_QUALIFIER</a>
<div class="block"><span class="deprecationComment">Since 2.3.0 and 2.2.1. Not used anymore. Instead we look for
   the <a href="org/apache/hadoop/hbase/HConstants.html#MERGE_QUALIFIER_PREFIX_STR"><code>HConstants.MERGE_QUALIFIER_PREFIX_STR</code></a> prefix.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HConstants.html#MERGEB_QUALIFIER">org.apache.hadoop.hbase.HConstants.MERGEB_QUALIFIER</a>
<div class="block"><span class="deprecationComment">Since 2.3.0 and 2.2.1. Not used anymore. Instead we look for
   the <a href="org/apache/hadoop/hbase/HConstants.html#MERGE_QUALIFIER_PREFIX_STR"><code>HConstants.MERGE_QUALIFIER_PREFIX_STR</code></a> prefix.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HConstants.html#META_REPLICAS_NUM">org.apache.hadoop.hbase.HConstants.META_REPLICAS_NUM</a>
<div class="block"><span class="deprecationComment">Since 2.4.0, will be removed in 4.0.0. Please change the meta replicas number by
             altering meta table, i.e, set a new 'region replication' number and call
             modifyTable.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/TableDescriptorBuilder.html#NAMESPACE_COL_DESC_BYTES">org.apache.hadoop.hbase.client.TableDescriptorBuilder.NAMESPACE_COL_DESC_BYTES</a>
<div class="block"><span class="deprecationComment">namespace table has been folded into the ns family in meta table, do not use this
             any more.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/TableDescriptorBuilder.html#NAMESPACE_FAMILY_INFO">org.apache.hadoop.hbase.client.TableDescriptorBuilder.NAMESPACE_FAMILY_INFO</a>
<div class="block"><span class="deprecationComment">namespace table has been folded into the ns family in meta table, do not use this
             any more.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/TableDescriptorBuilder.html#NAMESPACE_FAMILY_INFO_BYTES">org.apache.hadoop.hbase.client.TableDescriptorBuilder.NAMESPACE_FAMILY_INFO_BYTES</a>
<div class="block"><span class="deprecationComment">namespace table has been folded into the ns family in meta table, do not use this
             any more.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/TableName.html#NAMESPACE_TABLE_NAME">org.apache.hadoop.hbase.TableName.NAMESPACE_TABLE_NAME</a>
<div class="block"><span class="deprecationComment">since 3.0.0 and will be removed in 4.0.0. We have folded the data in namespace
   table into meta table, so do not use it any more.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/TableDescriptorBuilder.html#NAMESPACE_TABLEDESC">org.apache.hadoop.hbase.client.TableDescriptorBuilder.NAMESPACE_TABLEDESC</a>
<div class="block"><span class="deprecationComment">since 3.0.0 and will be removed in 4.0.0. We have folded the data in namespace
   table into meta table, so do not use it any more.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HConstants.html#REPLICATION_DROP_ON_DELETED_TABLE_KEY">org.apache.hadoop.hbase.HConstants.REPLICATION_DROP_ON_DELETED_TABLE_KEY</a>
<div class="block"><span class="deprecationComment">since 3.0.0. Will be removed in 4.0.0.
             Moved it into HBaseInterClusterReplicationEndpoint.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/mapreduce/SimpleTotalOrderPartitioner.html#START">org.apache.hadoop.hbase.mapreduce.SimpleTotalOrderPartitioner.START</a>
<div class="block"><span class="deprecationComment">since 0.90.0</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/RegionInfo.html#UNDEFINED">org.apache.hadoop.hbase.client.RegionInfo.UNDEFINED</a>
<div class="block"><span class="deprecationComment">since 2.3.2/3.0.0; to be removed in 4.0.0 with no replacement (for internal use).</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/hbase/client/AsyncAdmin.html#abortProcedure-long-boolean-">org.apache.hadoop.hbase.client.AsyncAdmin.abortProcedure(long, boolean)</a>
<div class="block"><span class="deprecationComment">since 2.1.1 and will be removed in 4.0.0.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#abortProcedure-long-boolean-">org.apache.hadoop.hbase.client.Admin.abortProcedure(long, boolean)</a>
<div class="block"><span class="deprecationComment">since 2.1.1 and will be removed in 4.0.0.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#abortProcedureAsync-long-boolean-">org.apache.hadoop.hbase.client.Admin.abortProcedureAsync(long, boolean)</a>
<div class="block"><span class="deprecationComment">since 2.1.1 and will be removed in 4.0.0.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#addAllTables-java.util.Collection-">org.apache.hadoop.hbase.rsgroup.RSGroupInfo.addAllTables(Collection&lt;TableName&gt;)</a>
<div class="block"><span class="deprecationComment">Since 3.0.0, will be removed in 4.0.0. The rsgroup information will be stored in
             the configuration of a table so this will be removed.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html#addDependencyJars-org.apache.hadoop.conf.Configuration-java.lang.Class...-">org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil.addDependencyJars(Configuration, Class&lt;?&gt;...)</a>
<div class="block"><span class="deprecationComment">since 1.3.0 and will be removed in 3.0.0. Use <a href="org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html#addDependencyJars-org.apache.hadoop.mapreduce.Job-"><code>TableMapReduceUtil.addDependencyJars(Job)</code></a>
   instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#addTable-org.apache.hadoop.hbase.TableName-">org.apache.hadoop.hbase.rsgroup.RSGroupInfo.addTable(TableName)</a>
<div class="block"><span class="deprecationComment">Since 3.0.0, will be removed in 4.0.0. The rsgroup information will be stored in
             the configuration of a table so this will be removed.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Table.html#batchCallback-java.util.List-java.lang.Object:A-org.apache.hadoop.hbase.client.coprocessor.Batch.Callback-">org.apache.hadoop.hbase.client.Table.batchCallback(List&lt;? extends Row&gt;, Object[], Batch.Callback&lt;R&gt;)</a>
<div class="block"><span class="deprecationComment">since 3.0.0, will removed in 4.0.0. Please use the batch related methods in
             <a href="org/apache/hadoop/hbase/client/AsyncTable.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncTable</code></a> directly if you want to use callback. We reuse the callback for
             coprocessor here, and the problem is that for batch operation, the
             <a href="org/apache/hadoop/hbase/client/AsyncTable.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncTable</code></a> does not tell us the region, so in this method we need an extra
             locating after we get the result, which is not good.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Table.html#batchCoprocessorService-org.apache.hbase.thirdparty.com.google.protobuf.Descriptors.MethodDescriptor-org.apache.hbase.thirdparty.com.google.protobuf.Message-byte:A-byte:A-R-">org.apache.hadoop.hbase.client.Table.batchCoprocessorService(Descriptors.MethodDescriptor, Message, byte[], byte[], R)</a>
<div class="block"><span class="deprecationComment">since 3.0.0, will removed in 4.0.0. The batch call here references the blocking
             interface for of a protobuf stub, so it is not possible to do it in an asynchronous
             way, even if now we are building the <a href="org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client"><code>Table</code></a> implementation based on the
             <a href="org/apache/hadoop/hbase/client/AsyncTable.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncTable</code></a>, which is not good. Use the coprocessorService methods in
             <a href="org/apache/hadoop/hbase/client/AsyncTable.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncTable</code></a> directly instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Table.html#batchCoprocessorService-org.apache.hbase.thirdparty.com.google.protobuf.Descriptors.MethodDescriptor-org.apache.hbase.thirdparty.com.google.protobuf.Message-byte:A-byte:A-R-org.apache.hadoop.hbase.client.coprocessor.Batch.Callback-">org.apache.hadoop.hbase.client.Table.batchCoprocessorService(Descriptors.MethodDescriptor, Message, byte[], byte[], R, Batch.Callback&lt;R&gt;)</a>
<div class="block"><span class="deprecationComment">since 3.0.0, will removed in 4.0.0. The batch call here references the blocking
             interface for of a protobuf stub, so it is not possible to do it in an asynchronous
             way, even if now we are building the <a href="org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client"><code>Table</code></a> implementation based on the
             <a href="org/apache/hadoop/hbase/client/AsyncTable.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncTable</code></a>, which is not good. Use the coprocessorService methods in
             <a href="org/apache/hadoop/hbase/client/AsyncTable.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncTable</code></a> directly instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Table.html#checkAndMutate-byte:A-byte:A-">org.apache.hadoop.hbase.client.Table.checkAndMutate(byte[], byte[])</a>
<div class="block"><span class="deprecationComment">Since 3.0.0, will be removed in 4.0.0. For internal test use only, do not use it
   any more.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/AsyncTable.html#checkAndMutate-byte:A-byte:A-">org.apache.hadoop.hbase.client.AsyncTable.checkAndMutate(byte[], byte[])</a>
<div class="block"><span class="deprecationComment">Since 3.0.0, will be removed in 4.0.0. For internal test use only, do not use it
   any more.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Table.html#checkAndMutate-byte:A-org.apache.hadoop.hbase.filter.Filter-">org.apache.hadoop.hbase.client.Table.checkAndMutate(byte[], Filter)</a>
<div class="block"><span class="deprecationComment">Since 3.0.0, will be removed in 4.0.0. For internal test use only, do not use it
   any more.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/AsyncTable.html#checkAndMutate-byte:A-org.apache.hadoop.hbase.filter.Filter-">org.apache.hadoop.hbase.client.AsyncTable.checkAndMutate(byte[], Filter)</a>
<div class="block"><span class="deprecationComment">Since 3.0.0, will be removed in 4.0.0. For internal test use only, do not use it
   any more.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#containsTable-org.apache.hadoop.hbase.TableName-">org.apache.hadoop.hbase.rsgroup.RSGroupInfo.containsTable(TableName)</a>
<div class="block"><span class="deprecationComment">Since 3.0.0, will be removed in 4.0.0. The rsgroup information will be stored in
             the configuration of a table so this will be removed.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#coprocessorService--">org.apache.hadoop.hbase.client.Admin.coprocessorService()</a>
<div class="block"><span class="deprecationComment">since 3.0.0, will removed in 4.0.0. This is too low level, please stop using it any
             more. Use the coprocessorService methods in <a href="org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncAdmin</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Table.html#coprocessorService-byte:A-">org.apache.hadoop.hbase.client.Table.coprocessorService(byte[])</a>
<div class="block"><span class="deprecationComment">since 3.0.0, will removed in 4.0.0. This is too low level, please stop using it any
             more. Use the coprocessorService methods in <a href="org/apache/hadoop/hbase/client/AsyncTable.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncTable</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Table.html#coprocessorService-java.lang.Class-byte:A-byte:A-org.apache.hadoop.hbase.client.coprocessor.Batch.Call-">org.apache.hadoop.hbase.client.Table.coprocessorService(Class&lt;T&gt;, byte[], byte[], Batch.Call&lt;T, R&gt;)</a>
<div class="block"><span class="deprecationComment">since 3.0.0, will removed in 4.0.0. The batch call here references the blocking
             interface for of a protobuf stub, so it is not possible to do it in an asynchronous
             way, even if now we are building the <a href="org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client"><code>Table</code></a> implementation based on the
             <a href="org/apache/hadoop/hbase/client/AsyncTable.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncTable</code></a>, which is not good. Use the coprocessorService methods in
             <a href="org/apache/hadoop/hbase/client/AsyncTable.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncTable</code></a> directly instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Table.html#coprocessorService-java.lang.Class-byte:A-byte:A-org.apache.hadoop.hbase.client.coprocessor.Batch.Call-org.apache.hadoop.hbase.client.coprocessor.Batch.Callback-">org.apache.hadoop.hbase.client.Table.coprocessorService(Class&lt;T&gt;, byte[], byte[], Batch.Call&lt;T, R&gt;, Batch.Callback&lt;R&gt;)</a>
<div class="block"><span class="deprecationComment">since 3.0.0, will removed in 4.0.0. The batch call here references the blocking
             interface for of a protobuf stub, so it is not possible to do it in an asynchronous
             way, even if now we are building the <a href="org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client"><code>Table</code></a> implementation based on the
             <a href="org/apache/hadoop/hbase/client/AsyncTable.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncTable</code></a>, which is not good. Use the coprocessorService methods in
             <a href="org/apache/hadoop/hbase/client/AsyncTable.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncTable</code></a> directly instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#coprocessorService-org.apache.hadoop.hbase.ServerName-">org.apache.hadoop.hbase.client.Admin.coprocessorService(ServerName)</a>
<div class="block"><span class="deprecationComment">since 3.0.0, will removed in 4.0.0. This is too low level, please stop using it any
             more. Use the coprocessorService methods in <a href="org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncAdmin</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/mapreduce/CellCreator.html#create-byte:A-int-int-byte:A-int-int-byte:A-int-int-long-byte:A-int-int-java.lang.String-">org.apache.hadoop.hbase.mapreduce.CellCreator.create(byte[], int, int, byte[], int, int, byte[], int, int, long, byte[], int, int, String)</a>
<div class="block"><span class="deprecationComment">since 0.98.9</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/mapreduce/RowCounter.html#createSubmittableJob-org.apache.hadoop.conf.Configuration-java.lang.String:A-">org.apache.hadoop.hbase.mapreduce.RowCounter.createSubmittableJob(Configuration, String[])</a>
<div class="block"><span class="deprecationComment">as of release 2.3.0. Will be removed on 4.0.0. Please use main method instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/AuthUtil.html#getAuthChore-org.apache.hadoop.conf.Configuration-">org.apache.hadoop.hbase.AuthUtil.getAuthChore(Configuration)</a>
<div class="block"><span class="deprecationComment">Deprecated since 2.2.0, this method will be
   <code>InterfaceAudience.Private</code> use only after 4.0.0.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/net/Address.html#getHostname--">org.apache.hadoop.hbase.net.Address.getHostname()</a>
<div class="block"><span class="deprecationComment">Use <a href="org/apache/hadoop/hbase/net/Address.html#getHostName--"><code>Address.getHostName()</code></a> instead</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/BufferedMutatorParams.html#getImplementationClassName--">org.apache.hadoop.hbase.client.BufferedMutatorParams.getImplementationClassName()</a>
<div class="block"><span class="deprecationComment">Since 3.0.0, will be removed in 4.0.0. You can not set it any more as the
             implementation has to use too many internal stuffs in HBase.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/Cell.html#getSequenceId--">org.apache.hadoop.hbase.Cell.getSequenceId()</a>
<div class="block"><span class="deprecationComment">As of HBase-2.0. Will be removed in HBase-3.0.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#getSlowLogResponses-java.util.Set-org.apache.hadoop.hbase.client.LogQueryFilter-">org.apache.hadoop.hbase.client.AsyncAdmin.getSlowLogResponses(Set&lt;ServerName&gt;, LogQueryFilter)</a>
<div class="block"><span class="deprecationComment">since 2.4.0 and will be removed in 4.0.0.
   Use <a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#getLogEntries-java.util.Set-java.lang.String-org.apache.hadoop.hbase.client.ServerType-int-java.util.Map-"><code>AsyncAdmin.getLogEntries(Set, String, ServerType, int, Map)</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#getSlowLogResponses-java.util.Set-org.apache.hadoop.hbase.client.LogQueryFilter-">org.apache.hadoop.hbase.client.Admin.getSlowLogResponses(Set&lt;ServerName&gt;, LogQueryFilter)</a>
<div class="block"><span class="deprecationComment">since 2.4.0 and will be removed in 4.0.0.
   Use <a href="org/apache/hadoop/hbase/client/Admin.html#getLogEntries-java.util.Set-java.lang.String-org.apache.hadoop.hbase.client.ServerType-int-java.util.Map-"><code>Admin.getLogEntries(Set, String, ServerType, int, Map)</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#getTables--">org.apache.hadoop.hbase.rsgroup.RSGroupInfo.getTables()</a>
<div class="block"><span class="deprecationComment">Since 3.0.0, will be removed in 4.0.0. The rsgroup information will be stored in
             the configuration of a table so this will be removed.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/Cell.html#getTagsArray--">org.apache.hadoop.hbase.Cell.getTagsArray()</a>
<div class="block"><span class="deprecationComment">As of HBase-2.0. Will be removed in HBase-3.0. Tags are are now internal.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/Cell.html#getTagsLength--">org.apache.hadoop.hbase.Cell.getTagsLength()</a>
<div class="block"><span class="deprecationComment">As of HBase-2.0. Will be removed in HBase-3.0. Tags are are now internal.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/Cell.html#getTagsOffset--">org.apache.hadoop.hbase.Cell.getTagsOffset()</a>
<div class="block"><span class="deprecationComment">As of HBase-2.0. Will be removed in HBase-3.0. Tags are are now internal.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/Cell.html#getTypeByte--">org.apache.hadoop.hbase.Cell.getTypeByte()</a>
<div class="block"><span class="deprecationComment">As of HBase-2.0. Will be removed in HBase-3.0. Use <a href="org/apache/hadoop/hbase/Cell.html#getType--"><code>Cell.getType()</code></a>.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/BufferedMutatorParams.html#getWriteBufferPeriodicFlushTimerTickMs--">org.apache.hadoop.hbase.client.BufferedMutatorParams.getWriteBufferPeriodicFlushTimerTickMs()</a>
<div class="block"><span class="deprecationComment">Since 3.0.0, will be removed in 4.0.0. We use a common timer in the whole client
             implementation so you can not set it any more.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/BufferedMutatorParams.html#implementationClassName-java.lang.String-">org.apache.hadoop.hbase.client.BufferedMutatorParams.implementationClassName(String)</a>
<div class="block"><span class="deprecationComment">Since 3.0.0, will be removed in 4.0.0. You can not set it any more as the
             implementation has to use too many internal stuffs in HBase.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html#initCredentialsForCluster-org.apache.hadoop.mapreduce.Job-java.lang.String-">org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil.initCredentialsForCluster(Job, String)</a>
<div class="block"><span class="deprecationComment">Since 1.2.0 and will be removed in 3.0.0. Use
   <a href="org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html#initCredentialsForCluster-org.apache.hadoop.mapreduce.Job-org.apache.hadoop.conf.Configuration-"><code>TableMapReduceUtil.initCredentialsForCluster(Job, Configuration)</code></a> instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/RegionInfo.html#isOffline--">org.apache.hadoop.hbase.client.RegionInfo.isOffline()</a>
<div class="block"><span class="deprecationComment">since 3.0.0 and will be removed in 4.0.0</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Scan.html#isSmall--">org.apache.hadoop.hbase.client.Scan.isSmall()</a>
<div class="block"><span class="deprecationComment">since 2.0.0 and will be removed in 3.0.0. See the comment of
   <a href="org/apache/hadoop/hbase/client/Scan.html#setSmall-boolean-"><code>Scan.setSmall(boolean)</code></a></span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/RegionInfo.html#isSplitParent--">org.apache.hadoop.hbase.client.RegionInfo.isSplitParent()</a>
<div class="block"><span class="deprecationComment">since 3.0.0 and will be removed in 4.0.0, Use <a href="org/apache/hadoop/hbase/client/RegionInfo.html#isSplit--"><code>RegionInfo.isSplit()</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#mergeRegions-byte:A-byte:A-boolean-">org.apache.hadoop.hbase.client.AsyncAdmin.mergeRegions(byte[], byte[], boolean)</a>
<div class="block"><span class="deprecationComment">since 2.3.0 and will be removed in 4.0.0.Use <a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#mergeRegions-java.util.List-boolean-"><code>AsyncAdmin.mergeRegions(List, boolean)</code></a>
             instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#mergeRegionsAsync-byte:A-byte:A-boolean-">org.apache.hadoop.hbase.client.Admin.mergeRegionsAsync(byte[], byte[], boolean)</a>
<div class="block"><span class="deprecationComment">since 2.3.0 and will be removed in 4.0.0. Multi-region merge feature is now
             supported. Use <a href="org/apache/hadoop/hbase/client/Admin.html#mergeRegionsAsync-byte:A:A-boolean-"><code>Admin.mergeRegionsAsync(byte[][], boolean)</code></a> instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#move-byte:A-byte:A-">org.apache.hadoop.hbase.client.Admin.move(byte[], byte[])</a>
<div class="block"><span class="deprecationComment">since 2.2.0 and will be removed in 4.0.0. Use <a href="org/apache/hadoop/hbase/client/Admin.html#move-byte:A-org.apache.hadoop.hbase.ServerName-"><code>Admin.move(byte[], ServerName)</code></a>
   instead. And if you want to move the region to a random server, please use
   <a href="org/apache/hadoop/hbase/client/Admin.html#move-byte:A-"><code>Admin.move(byte[])</code></a>.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/BufferedMutatorParams.html#opertationTimeout-int-">org.apache.hadoop.hbase.client.BufferedMutatorParams.opertationTimeout(int)</a>
<div class="block"><span class="deprecationComment">Since 2.3.0, will be removed in 4.0.0. Use <a href="org/apache/hadoop/hbase/client/BufferedMutatorParams.html#operationTimeout-int-"><code>BufferedMutatorParams.operationTimeout(int)</code></a></span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#removeTable-org.apache.hadoop.hbase.TableName-">org.apache.hadoop.hbase.rsgroup.RSGroupInfo.removeTable(TableName)</a>
<div class="block"><span class="deprecationComment">Since 3.0.0, will be removed in 4.0.0. The rsgroup information will be stored in
             the configuration of a table so this will be removed.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.html#retrieveGetCounterWithStringsParams-org.apache.hadoop.mapreduce.TaskAttemptContext-">org.apache.hadoop.hbase.mapreduce.TableRecordReaderImpl.retrieveGetCounterWithStringsParams(TaskAttemptContext)</a>
<div class="block"><span class="deprecationComment">since 2.4.0 and 2.3.2, will be removed in 4.0.0</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Scan.html#setAsyncPrefetch-boolean-">org.apache.hadoop.hbase.client.Scan.setAsyncPrefetch(boolean)</a>
<div class="block"><span class="deprecationComment">Since 3.0.0, will be removed in 4.0.0. After building sync client upon async
             client, the implementation is always 'async prefetch', so this flag is useless now.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/BufferedMutator.html#setOperationTimeout-int-">org.apache.hadoop.hbase.client.BufferedMutator.setOperationTimeout(int)</a>
<div class="block"><span class="deprecationComment">Since 3.0.0, will be removed in 4.0.0. Please set this through the
             <a href="org/apache/hadoop/hbase/client/BufferedMutatorParams.html" title="class in org.apache.hadoop.hbase.client"><code>BufferedMutatorParams</code></a>.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Scan.html#setRowPrefixFilter-byte:A-">org.apache.hadoop.hbase.client.Scan.setRowPrefixFilter(byte[])</a>
<div class="block"><span class="deprecationComment">since 3.0.0. The scan result might be unexpected in some cases.
   e.g. startRow : "112" and rowPrefixFilter : "11"
   The Result of this scan might contains : "111"
   This method implements the filter by setting startRow and stopRow,
   but does not take care of the scenario where startRow has been set.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/BufferedMutator.html#setRpcTimeout-int-">org.apache.hadoop.hbase.client.BufferedMutator.setRpcTimeout(int)</a>
<div class="block"><span class="deprecationComment">Since 3.0.0, will be removed in 4.0.0. Please set this through the
             <a href="org/apache/hadoop/hbase/client/BufferedMutatorParams.html" title="class in org.apache.hadoop.hbase.client"><code>BufferedMutatorParams</code></a>.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Scan.html#setSmall-boolean-">org.apache.hadoop.hbase.client.Scan.setSmall(boolean)</a>
<div class="block"><span class="deprecationComment">since 2.0.0 and will be removed in 3.0.0. Use <a href="org/apache/hadoop/hbase/client/Scan.html#setLimit-int-"><code>Scan.setLimit(int)</code></a> and
   <a href="org/apache/hadoop/hbase/client/Scan.html#setReadType-org.apache.hadoop.hbase.client.Scan.ReadType-"><code>Scan.setReadType(ReadType)</code></a> instead. And for the one rpc optimization, now we will also
   fetch data when openScanner, and if the number of rows reaches the limit then we will close
   the scanner automatically which means we will fall back to one rpc.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Scan.html#setTimeStamp-long-">org.apache.hadoop.hbase.client.Scan.setTimeStamp(long)</a>
<div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.
             Use <a href="org/apache/hadoop/hbase/client/Scan.html#setTimestamp-long-"><code>Scan.setTimestamp(long)</code></a> instead</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/BufferedMutatorParams.html#setWriteBufferPeriodicFlushTimerTickMs-long-">org.apache.hadoop.hbase.client.BufferedMutatorParams.setWriteBufferPeriodicFlushTimerTickMs(long)</a>
<div class="block"><span class="deprecationComment">Since 3.0.0, will be removed in 4.0.0. We use a common timer in the whole client
             implementation so you can not set it any more.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#unassign-byte:A-boolean-">org.apache.hadoop.hbase.client.AsyncAdmin.unassign(byte[], boolean)</a>
<div class="block"><span class="deprecationComment">since 2.4.0 and will be removed in 4.0.0. Use <a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#unassign-byte:A-"><code>AsyncAdmin.unassign(byte[])</code></a>
   instead.</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Admin.html#unassign-byte:A-boolean-">org.apache.hadoop.hbase.client.Admin.unassign(byte[], boolean)</a>
<div class="block"><span class="deprecationComment">since 2.4.0 and will be removed in 4.0.0. Use <a href="org/apache/hadoop/hbase/client/Admin.html#unassign-byte:A-"><code>Admin.unassign(byte[])</code></a>
   instead.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.html#updateCounters-org.apache.hadoop.hbase.client.metrics.ScanMetrics-long-java.lang.reflect.Method-org.apache.hadoop.mapreduce.TaskAttemptContext-long-">org.apache.hadoop.hbase.mapreduce.TableRecordReaderImpl.updateCounters(ScanMetrics, long, Method, TaskAttemptContext, long)</a>
<div class="block"><span class="deprecationComment">since 2.4.0 and 2.3.2, will be removed in 4.0.0
   Use <a href="org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.html#updateCounters-org.apache.hadoop.hbase.client.metrics.ScanMetrics-long-org.apache.hadoop.mapreduce.TaskAttemptContext-long-"><code>TableRecordReaderImpl.updateCounters(ScanMetrics, long, TaskAttemptContext, long)</code></a> instead.</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/hbase/types/RawBytes.html#RawBytes--">org.apache.hadoop.hbase.types.RawBytes()</a>
<div class="block"><span class="deprecationComment">since 3.0.0 and will be removed in 4.0.0</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/types/RawString.html#RawString--">org.apache.hadoop.hbase.types.RawString()</a>
<div class="block"><span class="deprecationComment">since 3.0.0 and will be removed in 4.0.0</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/ipc/ServerTooBusyException.html#ServerTooBusyException-java.net.InetSocketAddress-long-">org.apache.hadoop.hbase.ipc.ServerTooBusyException(InetSocketAddress, long)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/SnapshotDescription.html#SnapshotDescription-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.SnapshotType-java.lang.String-long-int-">org.apache.hadoop.hbase.client.SnapshotDescription(String, TableName, SnapshotType, String, long, int)</a>
<div class="block"><span class="deprecationComment">since 2.3.0 and will be removed in 4.0.0. Use
   <a href="org/apache/hadoop/hbase/client/SnapshotDescription.html#SnapshotDescription-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.SnapshotType-java.lang.String-long-int-java.util.Map-"><code>SnapshotDescription.SnapshotDescription(String, TableName, SnapshotType, String, long, int, Map)</code></a></span></div>
</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; 2007&#x2013;2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
