<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Deprecated List (Apache HBase 1.1.7 API)</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="Deprecated List (Apache HBase 1.1.7 API)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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 Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="allclasses-noframe.html">All 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="#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 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/client/HConnection.html" title="interface in org.apache.hadoop.hbase.client">org.apache.hadoop.hbase.client.HConnection</a>
<div class="block"><i>in favor of <a href="org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client"><code>Connection</code></a> and <a href="org/apache/hadoop/hbase/client/ConnectionFactory.html" title="class in org.apache.hadoop.hbase.client"><code>ConnectionFactory</code></a></i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HTableInterfaceFactory.html" title="interface in org.apache.hadoop.hbase.client">org.apache.hadoop.hbase.client.HTableInterfaceFactory</a>
<div class="block"><i>in favor of <a href="org/apache/hadoop/hbase/client/ConnectionFactory.html" title="class in org.apache.hadoop.hbase.client"><code>ConnectionFactory</code></a> and <a href="org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client"><code>Connection</code></a>.</i></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="class">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table 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/client/HConnectionManager.html" title="class in org.apache.hadoop.hbase.client">org.apache.hadoop.hbase.client.HConnectionManager</a>
<div class="block"><i>Please use ConnectionFactory instead</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/mapreduce/HFileOutputFormat.html" title="class in org.apache.hadoop.hbase.mapreduce">org.apache.hadoop.hbase.mapreduce.HFileOutputFormat</a>
<div class="block"><i>use <a href="org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html" title="class in org.apache.hadoop.hbase.mapreduce"><code>HFileOutputFormat2</code></a> instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/mapreduce/HLogInputFormat.html" title="class in org.apache.hadoop.hbase.mapreduce">org.apache.hadoop.hbase.mapreduce.HLogInputFormat</a>
<div class="block"><i>use <a href="org/apache/hadoop/hbase/mapreduce/WALInputFormat.html" title="class in org.apache.hadoop.hbase.mapreduce"><code>WALInputFormat</code></a></i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HTableFactory.html" title="class in org.apache.hadoop.hbase.client">org.apache.hadoop.hbase.client.HTableFactory</a>
<div class="block"><i>as of 0.98.1. See <a href="org/apache/hadoop/hbase/client/HConnectionManager.html#createConnection(org.apache.hadoop.conf.Configuration)"><code>HConnectionManager.createConnection(Configuration)</code></a>.</i></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="field">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table 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/HTableDescriptor.html#DEFERRED_LOG_FLUSH">org.apache.hadoop.hbase.HTableDescriptor.DEFERRED_LOG_FLUSH</a>
<div class="block"><i>Use <a href="org/apache/hadoop/hbase/HTableDescriptor.html#DURABILITY"><code>HTableDescriptor.DURABILITY</code></a> instead.</i></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></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HConstants.html#HBASE_REGIONSERVER_LEASE_PERIOD_KEY">org.apache.hadoop.hbase.HConstants.HBASE_REGIONSERVER_LEASE_PERIOD_KEY</a>
<div class="block"><i>This config option is deprecated. Will be removed at later releases after 0.96.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Scan.html#HINT_LOOKAHEAD">org.apache.hadoop.hbase.client.Scan.HINT_LOOKAHEAD</a>
<div class="block"><i>without replacement
             This is now a no-op, SEEKs and SKIPs are optimizated automatically.
             Will be removed in 2.0+</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnectionManager.html#MAX_CACHED_CONNECTION_INSTANCES">org.apache.hadoop.hbase.client.HConnectionManager.MAX_CACHED_CONNECTION_INSTANCES</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HConstants.html#META_TABLE_NAME">org.apache.hadoop.hbase.HConstants.META_TABLE_NAME</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HTableDescriptor.html#META_TABLEDESC">org.apache.hadoop.hbase.HTableDescriptor.META_TABLEDESC</a>
<div class="block"><i>Use TableDescriptors#get(TableName.META_TABLE_NAME) or
 HBaseAdmin#getTableDescriptor(TableName.META_TABLE_NAME) instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnectionManager.html#RETRIES_BY_SERVER_KEY">org.apache.hadoop.hbase.client.HConnectionManager.RETRIES_BY_SERVER_KEY</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Scan.html#SCAN_ATTRIBUTES_METRICS_DATA">org.apache.hadoop.hbase.client.Scan.SCAN_ATTRIBUTES_METRICS_DATA</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Scan.html#SCAN_ATTRIBUTES_METRICS_ENABLE">org.apache.hadoop.hbase.client.Scan.SCAN_ATTRIBUTES_METRICS_ENABLE</a>
<div class="block"><i>since 1.0.0. Use <a href="org/apache/hadoop/hbase/client/Scan.html#setScanMetricsEnabled(boolean)"><code>Scan.setScanMetricsEnabled(boolean)</code></a></i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/mapreduce/SimpleTotalOrderPartitioner.html#START">org.apache.hadoop.hbase.mapreduce.SimpleTotalOrderPartitioner.START</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#VERSION">org.apache.hadoop.hbase.HRegionInfo.VERSION</a></td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="method">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table 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/Put.html#add(byte[],%20byte[],%20byte[])">org.apache.hadoop.hbase.client.Put.add(byte[], byte[], byte[])</a>
<div class="block"><i>Since 1.0.0. Use <a href="org/apache/hadoop/hbase/client/Put.html#addColumn(byte[],%20byte[],%20byte[])"><code>Put.addColumn(byte[], byte[], byte[])</code></a></i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Put.html#add(byte[],%20byte[],%20long,%20byte[])">org.apache.hadoop.hbase.client.Put.add(byte[], byte[], long, byte[])</a>
<div class="block"><i>Since 1.0.0. Use <a href="org/apache/hadoop/hbase/client/Put.html#addColumn(byte[],%20byte[],%20long,%20byte[])"><code>Put.addColumn(byte[], byte[], long, byte[])</code></a></i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Put.html#add(byte[],%20java.nio.ByteBuffer,%20long,%20java.nio.ByteBuffer)">org.apache.hadoop.hbase.client.Put.add(byte[], ByteBuffer, long, ByteBuffer)</a>
<div class="block"><i>Since 1.0.0. Use <a href="org/apache/hadoop/hbase/client/Put.html#addColumn(byte[],%20java.nio.ByteBuffer,%20long,%20java.nio.ByteBuffer)"><code>Put.addColumn(byte[], ByteBuffer, long, ByteBuffer)</code></a></i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#addPeer(java.lang.String,%20java.lang.String)">org.apache.hadoop.hbase.client.replication.ReplicationAdmin.addPeer(String, String)</a>
<div class="block"><i>Use addPeer(String, ReplicationPeerConfig, Map) instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#addPeer(java.lang.String,%20java.lang.String,%20java.lang.String)">org.apache.hadoop.hbase.client.replication.ReplicationAdmin.addPeer(String, String, String)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Result.html#addResults(org.apache.hadoop.hbase.protobuf.generated.ClientProtos.RegionLoadStats)">org.apache.hadoop.hbase.client.Result.addResults(ClientProtos.RegionLoadStats)</a>
<div class="block"><i>use <a href="org/apache/hadoop/hbase/client/Result.html#setStatistics(org.apache.hadoop.hbase.protobuf.generated.ClientProtos.RegionLoadStats)"><code>Result.setStatistics(ClientProtos.RegionLoadStats)</code></a> instead</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Table.html#batch(java.util.List)">org.apache.hadoop.hbase.client.Table.batch(List<? extends Row>)</a>
<div class="block"><i>If any exception is thrown by one of the actions, there is no way to
 retrieve the partially executed results. Use <a href="org/apache/hadoop/hbase/client/Table.html#batch(java.util.List,%20java.lang.Object[])"><code>Table.batch(List, Object[])</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Table.html#batchCallback(java.util.List,%20org.apache.hadoop.hbase.client.coprocessor.Batch.Callback)">org.apache.hadoop.hbase.client.Table.batchCallback(List<? extends Row>, Batch.Callback<R>)</a>
<div class="block"><i>If any exception is thrown by one of the actions, there is no way to retrieve the
 partially executed results. Use <a href="org/apache/hadoop/hbase/client/Table.html#batchCallback(java.util.List,%20java.lang.Object[],%20org.apache.hadoop.hbase.client.coprocessor.Batch.Callback)"><code>Table.batchCallback(List, Object[],
 org.apache.hadoop.hbase.client.coprocessor.Batch.Callback)</code></a> instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#clearCaches(org.apache.hadoop.hbase.ServerName)">org.apache.hadoop.hbase.client.HConnection.clearCaches(ServerName)</a>
<div class="block"><i>internal method, do not use thru HConnection</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#clearRegionCache()">org.apache.hadoop.hbase.client.HConnection.clearRegionCache()</a>
<div class="block"><i>internal method, do not use thru HConnection</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#clearRegionCache(byte[])">org.apache.hadoop.hbase.client.HConnection.clearRegionCache(byte[])</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#clearRegionCache(org.apache.hadoop.hbase.TableName)">org.apache.hadoop.hbase.client.HConnection.clearRegionCache(TableName)</a>
<div class="block"><i>internal method, do not use thru HConnection</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#configureIncrementalLoad(org.apache.hadoop.mapreduce.Job,%20org.apache.hadoop.hbase.client.HTable)">org.apache.hadoop.hbase.mapreduce.HFileOutputFormat2.configureIncrementalLoad(Job, HTable)</a>
<div class="block"><i>Use <a href="org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.html#configureIncrementalLoad(org.apache.hadoop.mapreduce.Job,%20org.apache.hadoop.hbase.client.Table,%20org.apache.hadoop.hbase.client.RegionLocator)"><code>HFileOutputFormat2.configureIncrementalLoad(Job, Table, RegionLocator)</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/mapreduce/CellCreator.html#create(byte[],%20int,%20int,%20byte[],%20int,%20int,%20byte[],%20int,%20int,%20long,%20byte[],%20int,%20int,%20java.lang.String)">org.apache.hadoop.hbase.mapreduce.CellCreator.create(byte[], int, int, byte[], int, int, byte[], int, int, long, byte[], int, int, String)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnectionManager.html#createConnection(org.apache.hadoop.conf.Configuration)">org.apache.hadoop.hbase.client.HConnectionManager.createConnection(Configuration)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnectionManager.html#createConnection(org.apache.hadoop.conf.Configuration,%20java.util.concurrent.ExecutorService)">org.apache.hadoop.hbase.client.HConnectionManager.createConnection(Configuration, ExecutorService)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnectionManager.html#createConnection(org.apache.hadoop.conf.Configuration,%20java.util.concurrent.ExecutorService,%20org.apache.hadoop.hbase.security.User)">org.apache.hadoop.hbase.client.HConnectionManager.createConnection(Configuration, ExecutorService, User)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnectionManager.html#createConnection(org.apache.hadoop.conf.Configuration,%20org.apache.hadoop.hbase.security.User)">org.apache.hadoop.hbase.client.HConnectionManager.createConnection(Configuration, User)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnectionManager.html#deleteAllConnections()">org.apache.hadoop.hbase.client.HConnectionManager.deleteAllConnections()</a>
<div class="block"><i>kept for backward compatibility, but the behavior is broken. HBASE-8983</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnectionManager.html#deleteAllConnections(boolean)">org.apache.hadoop.hbase.client.HConnectionManager.deleteAllConnections(boolean)</a>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#deleteCachedRegionLocation(org.apache.hadoop.hbase.HRegionLocation)">org.apache.hadoop.hbase.client.HConnection.deleteCachedRegionLocation(HRegionLocation)</a>
<div class="block"><i>internal method, do not use thru HConnection</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Delete.html#deleteColumn(byte[],%20byte[])">org.apache.hadoop.hbase.client.Delete.deleteColumn(byte[], byte[])</a>
<div class="block"><i>Since hbase-1.0.0. Use <a href="org/apache/hadoop/hbase/client/Delete.html#addColumn(byte[],%20byte[])"><code>Delete.addColumn(byte[], byte[])</code></a></i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Delete.html#deleteColumn(byte[],%20byte[],%20long)">org.apache.hadoop.hbase.client.Delete.deleteColumn(byte[], byte[], long)</a>
<div class="block"><i>Since hbase-1.0.0. Use <a href="org/apache/hadoop/hbase/client/Delete.html#addColumn(byte[],%20byte[],%20long)"><code>Delete.addColumn(byte[], byte[], long)</code></a></i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Delete.html#deleteColumns(byte[],%20byte[])">org.apache.hadoop.hbase.client.Delete.deleteColumns(byte[], byte[])</a>
<div class="block"><i>Since hbase-1.0.0. Use <a href="org/apache/hadoop/hbase/client/Delete.html#addColumns(byte[],%20byte[])"><code>Delete.addColumns(byte[], byte[])</code></a></i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Delete.html#deleteColumns(byte[],%20byte[],%20long)">org.apache.hadoop.hbase.client.Delete.deleteColumns(byte[], byte[], long)</a>
<div class="block"><i>Since hbase-1.0.0. Use <a href="org/apache/hadoop/hbase/client/Delete.html#addColumns(byte[],%20byte[],%20long)"><code>Delete.addColumns(byte[], byte[], long)</code></a></i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnectionManager.html#deleteConnection(org.apache.hadoop.conf.Configuration)">org.apache.hadoop.hbase.client.HConnectionManager.deleteConnection(Configuration)</a>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Delete.html#deleteFamily(byte[])">org.apache.hadoop.hbase.client.Delete.deleteFamily(byte[])</a>
<div class="block"><i>Since 1.0.0. Use <a href="org/apache/hadoop/hbase/client/Delete.html#addFamily(byte[])"><code>Delete.addFamily(byte[])</code></a></i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Delete.html#deleteFamily(byte[],%20long)">org.apache.hadoop.hbase.client.Delete.deleteFamily(byte[], long)</a>
<div class="block"><i>Since 1.0.0. Use <a href="org/apache/hadoop/hbase/client/Delete.html#addFamily(byte[],%20long)"><code>Delete.addFamily(byte[], long)</code></a></i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Delete.html#deleteFamilyVersion(byte[],%20long)">org.apache.hadoop.hbase.client.Delete.deleteFamilyVersion(byte[], long)</a>
<div class="block"><i>Since hbase-1.0.0. Use <a href="org/apache/hadoop/hbase/client/Delete.html#addFamilyVersion(byte[],%20long)"><code>Delete.addFamilyVersion(byte[], long)</code></a></i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnectionManager.html#deleteStaleConnection(org.apache.hadoop.hbase.client.HConnection)">org.apache.hadoop.hbase.client.HConnectionManager.deleteStaleConnection(HConnection)</a>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#doBulkLoad(org.apache.hadoop.fs.Path,%20org.apache.hadoop.hbase.client.HTable)">org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles.doBulkLoad(Path, HTable)</a>
<div class="block"><i>since hbase-1.3.0, hbase-1.2.2, and hbase-1.1.6; replaced
 by <a href="org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#doBulkLoad(org.apache.hadoop.fs.Path,%20org.apache.hadoop.hbase.client.Admin,%20org.apache.hadoop.hbase.client.Table,%20org.apache.hadoop.hbase.client.RegionLocator)"><code>LoadIncrementalHFiles.doBulkLoad(Path, Admin, Table, RegionLocator)</code></a>.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#estimatedHeapSizeOfWithoutTags(org.apache.hadoop.hbase.Cell)">org.apache.hadoop.hbase.CellUtil.estimatedHeapSizeOfWithoutTags(Cell)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/CellUtil.html#estimatedSizeOf(org.apache.hadoop.hbase.Cell)">org.apache.hadoop.hbase.CellUtil.estimatedSizeOf(Cell)</a>
<div class="block"><i>please use estimatedSerializedSizeOf(Cell)</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnectionManager.html#execute(org.apache.hadoop.hbase.client.HConnectable)">org.apache.hadoop.hbase.client.HConnectionManager.execute(HConnectable<T>)</a>
<div class="block"><i>Internal method, do not use thru HConnectionManager.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/rest/client/RemoteHTable.html#exists(java.util.List)">org.apache.hadoop.hbase.rest.client.RemoteHTable.exists(List<Get>)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#getAdmin(org.apache.hadoop.hbase.ServerName)">org.apache.hadoop.hbase.client.HConnection.getAdmin(ServerName)</a>
<div class="block"><i>internal method, do not use thru HConnection</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#getAdmin(org.apache.hadoop.hbase.ServerName,%20boolean)">org.apache.hadoop.hbase.client.HConnection.getAdmin(ServerName, boolean)</a>
<div class="block"><i>You can pass master flag but nothing special is done.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#getClient(org.apache.hadoop.hbase.ServerName)">org.apache.hadoop.hbase.client.HConnection.getClient(ServerName)</a>
<div class="block"><i>internal method, do not use thru HConnection</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Result.html#getColumn(byte[],%20byte[])">org.apache.hadoop.hbase.client.Result.getColumn(byte[], byte[])</a>
<div class="block"><i>Use <a href="org/apache/hadoop/hbase/client/Result.html#getColumnCells(byte[],%20byte[])"><code>Result.getColumnCells(byte[], byte[])</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Result.html#getColumnLatest(byte[],%20byte[])">org.apache.hadoop.hbase.client.Result.getColumnLatest(byte[], byte[])</a>
<div class="block"><i>Use <a href="org/apache/hadoop/hbase/client/Result.html#getColumnLatestCell(byte[],%20byte[])"><code>Result.getColumnLatestCell(byte[], byte[])</code></a> instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Result.html#getColumnLatest(byte[],%20int,%20int,%20byte[],%20int,%20int)">org.apache.hadoop.hbase.client.Result.getColumnLatest(byte[], int, int, byte[], int, int)</a>
<div class="block"><i>Use <a href="org/apache/hadoop/hbase/client/Result.html#getColumnLatestCell(byte[],%20int,%20int,%20byte[],%20int,%20int)"><code>Result.getColumnLatestCell(byte[], int, int, byte[], int, int)</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnectionManager.html#getConnection(org.apache.hadoop.conf.Configuration)">org.apache.hadoop.hbase.client.HConnectionManager.getConnection(Configuration)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#getCurrentNrHRS()">org.apache.hadoop.hbase.client.HConnection.getCurrentNrHRS()</a>
<div class="block"><i>This method will be changed from public to package protected.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HColumnDescriptor.html#getDataBlockEncodingOnDisk()">org.apache.hadoop.hbase.HColumnDescriptor.getDataBlockEncodingOnDisk()</a>
<div class="block"><i>As of release 0.98
             (<a href="https://issues.apache.org/jira/browse/HBASE-9870">HBASE-9870</a>).
             This will be removed in HBase 2.0.0. See <a href="org/apache/hadoop/hbase/HColumnDescriptor.html#getDataBlockEncoding()"><code>HColumnDescriptor.getDataBlockEncoding()</code></a>}</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#getDaughterRegions(org.apache.hadoop.hbase.client.Result)">org.apache.hadoop.hbase.HRegionInfo.getDaughterRegions(Result)</a>
<div class="block"><i>use MetaTableAccessor methods for interacting with meta layouts</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/Cell.html#getFamily()">org.apache.hadoop.hbase.Cell.getFamily()</a>
<div class="block"><i>as of 0.96, use <a href="org/apache/hadoop/hbase/CellUtil.html#cloneFamily(org.apache.hadoop.hbase.Cell)"><code>CellUtil.cloneFamily(Cell)</code></a></i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Mutation.html#getFamilyMap()">org.apache.hadoop.hbase.client.Mutation.getFamilyMap()</a>
<div class="block"><i>use <a href="org/apache/hadoop/hbase/client/Mutation.html#getFamilyCellMap()"><code>Mutation.getFamilyCellMap()</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#getHRegionInfo(org.apache.hadoop.hbase.client.Result)">org.apache.hadoop.hbase.HRegionInfo.getHRegionInfo(Result)</a>
<div class="block"><i>use MetaTableAccessor methods for interacting with meta layouts</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#getHRegionInfo(org.apache.hadoop.hbase.client.Result,%20byte[])">org.apache.hadoop.hbase.HRegionInfo.getHRegionInfo(Result, byte[])</a>
<div class="block"><i>use MetaTableAccessor methods for interacting with meta layouts</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#getHRegionInfoAndServerName(org.apache.hadoop.hbase.client.Result)">org.apache.hadoop.hbase.HRegionInfo.getHRegionInfoAndServerName(Result)</a>
<div class="block"><i>use MetaTableAccessor methods for interacting with meta layouts</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#getHTable()">org.apache.hadoop.hbase.mapreduce.TableInputFormatBase.getHTable()</a>
<div class="block"><i>use <a href="org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#getTable()"><code>TableInputFormatBase.getTable()</code></a></i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/mapred/TableInputFormatBase.html#getHTable()">org.apache.hadoop.hbase.mapred.TableInputFormatBase.getHTable()</a>
<div class="block"><i>use <a href="org/apache/hadoop/hbase/mapred/TableInputFormatBase.html#getTable()"><code>TableInputFormatBase.getTable()</code></a></i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#getHTableDescriptor(byte[])">org.apache.hadoop.hbase.client.HConnection.getHTableDescriptor(byte[])</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#getHTableDescriptor(org.apache.hadoop.hbase.TableName)">org.apache.hadoop.hbase.client.HConnection.getHTableDescriptor(TableName)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#getHTableDescriptors(java.util.List)">org.apache.hadoop.hbase.client.HConnection.getHTableDescriptors(List<String>)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#getHTableDescriptorsByTableName(java.util.List)">org.apache.hadoop.hbase.client.HConnection.getHTableDescriptorsByTableName(List<TableName>)</a>
<div class="block"><i>Use <a href="org/apache/hadoop/hbase/client/Admin.html#getTableDescriptor(org.apache.hadoop.hbase.TableName)"><code>Admin.getTableDescriptor(TableName)</code></a> instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#getKeepAliveMasterService()">org.apache.hadoop.hbase.client.HConnection.getKeepAliveMasterService()</a>
<div class="block"><i>Since 0.96.0</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#getMaster()">org.apache.hadoop.hbase.client.HConnection.getMaster()</a>
<div class="block"><i>internal method, do not use thru HConnection</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#getMergeRegions(org.apache.hadoop.hbase.client.Result)">org.apache.hadoop.hbase.HRegionInfo.getMergeRegions(Result)</a>
<div class="block"><i>use MetaTableAccessor methods for interacting with meta layouts</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/Cell.html#getMvccVersion()">org.apache.hadoop.hbase.Cell.getMvccVersion()</a>
<div class="block"><i>as of 1.0, use <a href="org/apache/hadoop/hbase/Cell.html#getSequenceId()"><code>Cell.getSequenceId()</code></a>
 
 Internal use only. A region-specific sequence ID given to each operation. It always exists for
 cells in the memstore but is not retained forever. It may survive several flushes, but
 generally becomes irrelevant after the cell's row is no longer involved in any operations that
 require strict consistency.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HTableDescriptor.html#getName()">org.apache.hadoop.hbase.HTableDescriptor.getName()</a>
<div class="block"><i>Use <a href="org/apache/hadoop/hbase/HTableDescriptor.html#getTableName()"><code>HTableDescriptor.getTableName()</code></a> instead</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/filter/FilterList.html#getNextKeyHint(org.apache.hadoop.hbase.KeyValue)">org.apache.hadoop.hbase.filter.FilterList.getNextKeyHint(KeyValue)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/filter/Filter.html#getNextKeyHint(org.apache.hadoop.hbase.KeyValue)">org.apache.hadoop.hbase.filter.Filter.getNextKeyHint(KeyValue)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#getNonceGenerator()">org.apache.hadoop.hbase.client.HConnection.getNonceGenerator()</a>
<div class="block"><i>internal method, do not use thru HConnection</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HTableDescriptor.html#getOwnerString()">org.apache.hadoop.hbase.HTableDescriptor.getOwnerString()</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/Cell.html#getQualifier()">org.apache.hadoop.hbase.Cell.getQualifier()</a>
<div class="block"><i>as of 0.96, use <a href="org/apache/hadoop/hbase/CellUtil.html#cloneQualifier(org.apache.hadoop.hbase.Cell)"><code>CellUtil.cloneQualifier(Cell)</code></a></i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#getRegionCachePrefetch(byte[])">org.apache.hadoop.hbase.client.HConnection.getRegionCachePrefetch(byte[])</a>
<div class="block"><i>always return false since 0.99</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#getRegionCachePrefetch(org.apache.hadoop.hbase.TableName)">org.apache.hadoop.hbase.client.HConnection.getRegionCachePrefetch(TableName)</a>
<div class="block"><i>always return false since 0.99</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#getRegionLocation(byte[],%20byte[],%20boolean)">org.apache.hadoop.hbase.client.HConnection.getRegionLocation(byte[], byte[], boolean)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#getRegionLocation(org.apache.hadoop.hbase.TableName,%20byte[],%20boolean)">org.apache.hadoop.hbase.client.HConnection.getRegionLocation(TableName, byte[], boolean)</a>
<div class="block"><i>internal method, do not use thru HConnection</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/Cell.html#getRow()">org.apache.hadoop.hbase.Cell.getRow()</a>
<div class="block"><i>as of 0.96, use <a href="org/apache/hadoop/hbase/CellUtil.html#getRowByte(org.apache.hadoop.hbase.Cell,%20int)"><code>CellUtil.getRowByte(Cell, int)</code></a></i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/TableName.html#getRowComparator()">org.apache.hadoop.hbase.TableName.getRowComparator()</a>
<div class="block"><i>The comparator is an internal property of the table. Should
 not have been exposed here</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#getSeqNumDuringOpen(org.apache.hadoop.hbase.client.Result)">org.apache.hadoop.hbase.HRegionInfo.getSeqNumDuringOpen(Result)</a>
<div class="block"><i>use MetaTableAccessor methods for interacting with meta layouts</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/ClusterStatus.html#getServerInfo()">org.apache.hadoop.hbase.ClusterStatus.getServerInfo()</a>
<div class="block"><i>As of release 0.92
             (<a href="https://issues.apache.org/jira/browse/HBASE-1502">HBASE-1502</a>).
             This will be removed in HBase 2.0.0.
             Use <a href="org/apache/hadoop/hbase/ClusterStatus.html#getServers()"><code>ClusterStatus.getServers()</code></a>.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#getServerName(org.apache.hadoop.hbase.client.Result)">org.apache.hadoop.hbase.HRegionInfo.getServerName(Result)</a>
<div class="block"><i>use MetaTableAccessor methods for interacting with meta layouts</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/io/ImmutableBytesWritable.html#getSize()">org.apache.hadoop.hbase.io.ImmutableBytesWritable.getSize()</a>
<div class="block"><i>use <a href="org/apache/hadoop/hbase/io/ImmutableBytesWritable.html#getLength()"><code>ImmutableBytesWritable.getLength()</code></a> instead</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HTableDescriptor.html#getTableDir(org.apache.hadoop.fs.Path,%20byte[])">org.apache.hadoop.hbase.HTableDescriptor.getTableDir(Path, byte[])</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#getTableName()">org.apache.hadoop.hbase.HRegionInfo.getTableName()</a>
<div class="block"><i>As of release 0.96
             (<a href="https://issues.apache.org/jira/browse/HBASE-9508">HBASE-9508</a>).
             This will be removed in HBase 2.0.0. Use <a href="org/apache/hadoop/hbase/HRegionInfo.html#getTable()"><code>HRegionInfo.getTable()</code></a>.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#getTableName(byte[])">org.apache.hadoop.hbase.HRegionInfo.getTableName(byte[])</a>
<div class="block"><i>As of release 0.96
             (<a href="https://issues.apache.org/jira/browse/HBASE-9508">HBASE-9508</a>).
             This will be removed in HBase 2.0.0. Use <a href="org/apache/hadoop/hbase/HRegionInfo.html#getTable(byte[])"><code>HRegionInfo.getTable(byte[])</code></a>.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#getTableNames()">org.apache.hadoop.hbase.client.HConnection.getTableNames()</a>
<div class="block"><i>Use <a href="org/apache/hadoop/hbase/client/Admin.html#listTableNames()"><code>Admin.listTableNames()</code></a> instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/Cell.html#getValue()">org.apache.hadoop.hbase.Cell.getValue()</a>
<div class="block"><i>as of 0.96, use <a href="org/apache/hadoop/hbase/CellUtil.html#cloneValue(org.apache.hadoop.hbase.Cell)"><code>CellUtil.cloneValue(Cell)</code></a></i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#getVersion()">org.apache.hadoop.hbase.HRegionInfo.getVersion()</a>
<div class="block"><i>HRI is no longer a VersionedWritable</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Table.html#getWriteBufferSize()">org.apache.hadoop.hbase.client.Table.getWriteBufferSize()</a>
<div class="block"><i>as of 1.0.1 (should not have been in 1.0.0). Replaced by <a href="org/apache/hadoop/hbase/client/BufferedMutator.html#getWriteBufferSize()"><code>BufferedMutator.getWriteBufferSize()</code></a></i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Mutation.html#getWriteToWAL()">org.apache.hadoop.hbase.client.Mutation.getWriteToWAL()</a>
<div class="block"><i>Use <a href="org/apache/hadoop/hbase/client/Mutation.html#getDurability()"><code>Mutation.getDurability()</code></a> instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#isDeadServer(org.apache.hadoop.hbase.ServerName)">org.apache.hadoop.hbase.client.HConnection.isDeadServer(ServerName)</a>
<div class="block"><i>internal method, do not use thru HConnection</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#isMasterRunning()">org.apache.hadoop.hbase.client.HConnection.isMasterRunning()</a>
<div class="block"><i>internal method, do not use thru HConnection</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#isTableAvailable(byte[])">org.apache.hadoop.hbase.client.HConnection.isTableAvailable(byte[])</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#isTableAvailable(byte[],%20byte[][])">org.apache.hadoop.hbase.client.HConnection.isTableAvailable(byte[], byte[][])</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#isTableAvailable(org.apache.hadoop.hbase.TableName,%20byte[][])">org.apache.hadoop.hbase.client.HConnection.isTableAvailable(TableName, byte[][])</a>
<div class="block"><i>internal method, do not use thru HConnection</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#isTableDisabled(byte[])">org.apache.hadoop.hbase.client.HConnection.isTableDisabled(byte[])</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#isTableEnabled(byte[])">org.apache.hadoop.hbase.client.HConnection.isTableEnabled(byte[])</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Result.html#list()">org.apache.hadoop.hbase.client.Result.list()</a>
<div class="block"><i>as of 0.96, use <a href="org/apache/hadoop/hbase/client/Result.html#listCells()"><code>Result.listCells()</code></a></i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#listPeers()">org.apache.hadoop.hbase.client.replication.ReplicationAdmin.listPeers()</a>
<div class="block"><i>use <a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#listPeerConfigs()"><code>ReplicationAdmin.listPeerConfigs()</code></a></i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#listTableNames()">org.apache.hadoop.hbase.client.HConnection.listTableNames()</a>
<div class="block"><i>Use <a href="org/apache/hadoop/hbase/client/Admin.html#listTables()"><code>Admin.listTables()</code></a> instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#listTables()">org.apache.hadoop.hbase.client.HConnection.listTables()</a>
<div class="block"><i>Use <a href="org/apache/hadoop/hbase/client/Admin.html#listTables()"><code>Admin.listTables()</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#locateRegion(byte[])">org.apache.hadoop.hbase.client.HConnection.locateRegion(byte[])</a>
<div class="block"><i>internal method, do not use thru HConnection</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#locateRegion(byte[],%20byte[])">org.apache.hadoop.hbase.client.HConnection.locateRegion(byte[], byte[])</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#locateRegion(org.apache.hadoop.hbase.TableName,%20byte[])">org.apache.hadoop.hbase.client.HConnection.locateRegion(TableName, byte[])</a>
<div class="block"><i>internal method, do not use thru HConnection</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#locateRegions(byte[])">org.apache.hadoop.hbase.client.HConnection.locateRegions(byte[])</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#locateRegions(byte[],%20boolean,%20boolean)">org.apache.hadoop.hbase.client.HConnection.locateRegions(byte[], boolean, boolean)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#locateRegions(org.apache.hadoop.hbase.TableName)">org.apache.hadoop.hbase.client.HConnection.locateRegions(TableName)</a>
<div class="block"><i>internal method, do not use thru HConnection</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#locateRegions(org.apache.hadoop.hbase.TableName,%20boolean,%20boolean)">org.apache.hadoop.hbase.client.HConnection.locateRegions(TableName, boolean, boolean)</a>
<div class="block"><i>internal method, do not use thru HConnection</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/security/User.html#obtainAuthTokenForJob(org.apache.hadoop.conf.Configuration,%20org.apache.hadoop.mapreduce.Job)">org.apache.hadoop.hbase.security.User.obtainAuthTokenForJob(Configuration, Job)</a>
<div class="block"><i>Use <code>TokenUtil.obtainAuthTokenForJob(Connection,User,Job)</code>
     instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/security/User.html#obtainAuthTokenForJob(org.apache.hadoop.mapred.JobConf)">org.apache.hadoop.hbase.security.User.obtainAuthTokenForJob(JobConf)</a>
<div class="block"><i>Use <code>TokenUtil.obtainAuthTokenForJob(Connection,JobConf,User)</code>
     instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#processBatch(java.util.List,%20byte[],%20java.util.concurrent.ExecutorService,%20java.lang.Object[])">org.apache.hadoop.hbase.client.HConnection.processBatch(List<? extends Row>, byte[], ExecutorService, Object[])</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#processBatch(java.util.List,%20org.apache.hadoop.hbase.TableName,%20java.util.concurrent.ExecutorService,%20java.lang.Object[])">org.apache.hadoop.hbase.client.HConnection.processBatch(List<? extends Row>, TableName, ExecutorService, Object[])</a>
<div class="block"><i>since 0.96 - Use <a href="org/apache/hadoop/hbase/client/Table.html#batch(java.util.List,%20java.lang.Object[])"><code>Table.batch(java.util.List&lt;? extends org.apache.hadoop.hbase.client.Row&gt;, java.lang.Object[])</code></a> instead</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#processBatchCallback(java.util.List,%20byte[],%20java.util.concurrent.ExecutorService,%20java.lang.Object[],%20org.apache.hadoop.hbase.client.coprocessor.Batch.Callback)">org.apache.hadoop.hbase.client.HConnection.processBatchCallback(List<? extends Row>, byte[], ExecutorService, Object[], Batch.Callback<R>)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#processBatchCallback(java.util.List,%20org.apache.hadoop.hbase.TableName,%20java.util.concurrent.ExecutorService,%20java.lang.Object[],%20org.apache.hadoop.hbase.client.coprocessor.Batch.Callback)">org.apache.hadoop.hbase.client.HConnection.processBatchCallback(List<? extends Row>, TableName, ExecutorService, Object[], Batch.Callback<R>)</a>
<div class="block"><i>since 0.96 - Use <a href="org/apache/hadoop/hbase/client/Table.html#batchCallback(java.util.List,%20java.lang.Object[],%20org.apache.hadoop.hbase.client.coprocessor.Batch.Callback)"><code>Table.batchCallback(java.util.List&lt;? extends org.apache.hadoop.hbase.client.Row&gt;, java.lang.Object[], org.apache.hadoop.hbase.client.coprocessor.Batch.Callback&lt;R&gt;)</code></a> instead</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HTableMultiplexer.html#put(byte[],%20java.util.List)">org.apache.hadoop.hbase.client.HTableMultiplexer.put(byte[], List<Put>)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HTableMultiplexer.html#put(byte[],%20org.apache.hadoop.hbase.client.Put)">org.apache.hadoop.hbase.client.HTableMultiplexer.put(byte[], Put)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HTableMultiplexer.html#put(byte[],%20org.apache.hadoop.hbase.client.Put,%20int)">org.apache.hadoop.hbase.client.HTableMultiplexer.put(byte[], Put, int)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Result.html#raw()">org.apache.hadoop.hbase.client.Result.raw()</a>
<div class="block"><i>as of 0.96, use <a href="org/apache/hadoop/hbase/client/Result.html#rawCells()"><code>Result.rawCells()</code></a></i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HTableDescriptor.html#readFields(java.io.DataInput)">org.apache.hadoop.hbase.HTableDescriptor.readFields(DataInput)</a>
<div class="block"><i>Writables are going away.  Use pb <a href="org/apache/hadoop/hbase/HTableDescriptor.html#parseFrom(byte[])"><code>HTableDescriptor.parseFrom(byte[])</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#readFields(java.io.DataInput)">org.apache.hadoop.hbase.HRegionInfo.readFields(DataInput)</a>
<div class="block"><i>Use protobuf deserialization instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HColumnDescriptor.html#readFields(java.io.DataInput)">org.apache.hadoop.hbase.HColumnDescriptor.readFields(DataInput)</a>
<div class="block"><i>Writables are going away.  Use pb <a href="org/apache/hadoop/hbase/HColumnDescriptor.html#parseFrom(byte[])"><code>HColumnDescriptor.parseFrom(byte[])</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/util/Bytes.html#readVLong(byte[],%20int)">org.apache.hadoop.hbase.util.Bytes.readVLong(byte[], int)</a>
<div class="block"><i>Use <code>#readAsVLong()</code> instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#relocateRegion(byte[],%20byte[])">org.apache.hadoop.hbase.client.HConnection.relocateRegion(byte[], byte[])</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#relocateRegion(org.apache.hadoop.hbase.TableName,%20byte[])">org.apache.hadoop.hbase.client.HConnection.relocateRegion(TableName, byte[])</a>
<div class="block"><i>internal method, do not use thru HConnection</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#reverseDNS(java.net.InetAddress)">org.apache.hadoop.hbase.mapreduce.TableInputFormatBase.reverseDNS(InetAddress)</a>
<div class="block"><i>mistakenly made public in 0.98.7. scope will change to package-private</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HColumnDescriptor.html#setEncodeOnDisk(boolean)">org.apache.hadoop.hbase.HColumnDescriptor.setEncodeOnDisk(boolean)</a>
<div class="block"><i>As of release 0.98
             (<a href="https://issues.apache.org/jira/browse/HBASE-9870">HBASE-9870</a>).
             This will be removed in HBase 2.0.0. This method does nothing now.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Put.html#setFamilyMap(java.util.NavigableMap)">org.apache.hadoop.hbase.client.Put.setFamilyMap(NavigableMap<byte[], List<KeyValue>>)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Mutation.html#setFamilyMap(java.util.NavigableMap)">org.apache.hadoop.hbase.client.Mutation.setFamilyMap(NavigableMap<byte[], List<KeyValue>>)</a>
<div class="block"><i>use <a href="org/apache/hadoop/hbase/client/Mutation.html#setFamilyCellMap(java.util.NavigableMap)"><code>Mutation.setFamilyCellMap(NavigableMap)</code></a> instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Increment.html#setFamilyMap(java.util.NavigableMap)">org.apache.hadoop.hbase.client.Increment.setFamilyMap(NavigableMap<byte[], List<KeyValue>>)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Delete.html#setFamilyMap(java.util.NavigableMap)">org.apache.hadoop.hbase.client.Delete.setFamilyMap(NavigableMap<byte[], List<KeyValue>>)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Append.html#setFamilyMap(java.util.NavigableMap)">org.apache.hadoop.hbase.client.Append.setFamilyMap(NavigableMap<byte[], List<KeyValue>>)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#setHTable(org.apache.hadoop.hbase.client.HTable)">org.apache.hadoop.hbase.mapreduce.TableInputFormatBase.setHTable(HTable)</a>
<div class="block"><i>Use <a href="org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.html#initializeTable(org.apache.hadoop.hbase.client.Connection,%20org.apache.hadoop.hbase.TableName)"><code>TableInputFormatBase.initializeTable(Connection, TableName)</code></a> instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/mapred/TableInputFormatBase.html#setHTable(org.apache.hadoop.hbase.client.HTable)">org.apache.hadoop.hbase.mapred.TableInputFormatBase.setHTable(HTable)</a>
<div class="block"><i>use <a href="org/apache/hadoop/hbase/mapred/TableInputFormatBase.html#initializeTable(org.apache.hadoop.hbase.client.Connection,%20org.apache.hadoop.hbase.TableName)"><code>TableInputFormatBase.initializeTable(Connection,TableName)</code></a></i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/mapreduce/TableRecordReader.html#setHTable(org.apache.hadoop.hbase.client.Table)">org.apache.hadoop.hbase.mapreduce.TableRecordReader.setHTable(Table)</a>
<div class="block"><i>Use setTable() instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HColumnDescriptor.html#setKeepDeletedCells(boolean)">org.apache.hadoop.hbase.HColumnDescriptor.setKeepDeletedCells(boolean)</a>
<div class="block"><i>As of release 1.0.0
             (<a href="https://issues.apache.org/jira/browse/HBASE-12363">HBASE-12363</a>).
             This will be removed in HBase 2.0.0.
             Use <a href="org/apache/hadoop/hbase/HColumnDescriptor.html#setKeepDeletedCells(org.apache.hadoop.hbase.KeepDeletedCells)"><code>HColumnDescriptor.setKeepDeletedCells(KeepDeletedCells)</code></a>.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HTableDescriptor.html#setName(byte[])">org.apache.hadoop.hbase.HTableDescriptor.setName(byte[])</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HTableDescriptor.html#setName(org.apache.hadoop.hbase.TableName)">org.apache.hadoop.hbase.HTableDescriptor.setName(TableName)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HTableDescriptor.html#setOwner(org.apache.hadoop.hbase.security.User)">org.apache.hadoop.hbase.HTableDescriptor.setOwner(User)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HTableDescriptor.html#setOwnerString(java.lang.String)">org.apache.hadoop.hbase.HTableDescriptor.setOwnerString(String)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#setPeerTableCFs(java.lang.String,%20java.lang.String)">org.apache.hadoop.hbase.client.replication.ReplicationAdmin.setPeerTableCFs(String, String)</a>
<div class="block"><i>use <a href="org/apache/hadoop/hbase/client/replication/ReplicationAdmin.html#setPeerTableCFs(java.lang.String,%20java.util.Map)"><code>ReplicationAdmin.setPeerTableCFs(String, Map)</code></a></i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#setRegionCachePrefetch(byte[],%20boolean)">org.apache.hadoop.hbase.client.HConnection.setRegionCachePrefetch(byte[], boolean)</a>
<div class="block"><i>does nothing since 0.99</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#setRegionCachePrefetch(org.apache.hadoop.hbase.TableName,%20boolean)">org.apache.hadoop.hbase.client.HConnection.setRegionCachePrefetch(TableName, boolean)</a>
<div class="block"><i>does nothing since since 0.99</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnectionManager.html#setServerSideHConnectionRetries(org.apache.hadoop.conf.Configuration,%20java.lang.String,%20org.apache.commons.logging.Log)">org.apache.hadoop.hbase.client.HConnectionManager.setServerSideHConnectionRetries(Configuration, String, Log)</a>
<div class="block"><i>Internal method, do not use.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Table.html#setWriteBufferSize(long)">org.apache.hadoop.hbase.client.Table.setWriteBufferSize(long)</a>
<div class="block"><i>as of 1.0.1 (should not have been in 1.0.0). Replaced by <a href="org/apache/hadoop/hbase/client/BufferedMutator.html" title="interface in org.apache.hadoop.hbase.client"><code>BufferedMutator</code></a> and
 <a href="org/apache/hadoop/hbase/client/BufferedMutatorParams.html#writeBufferSize(long)"><code>BufferedMutatorParams.writeBufferSize(long)</code></a></i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Put.html#setWriteToWAL(boolean)">org.apache.hadoop.hbase.client.Put.setWriteToWAL(boolean)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Mutation.html#setWriteToWAL(boolean)">org.apache.hadoop.hbase.client.Mutation.setWriteToWAL(boolean)</a>
<div class="block"><i>Use <a href="org/apache/hadoop/hbase/client/Mutation.html#setDurability(org.apache.hadoop.hbase.client.Durability)"><code>Mutation.setDurability(Durability)</code></a> instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Increment.html#setWriteToWAL(boolean)">org.apache.hadoop.hbase.client.Increment.setWriteToWAL(boolean)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Delete.html#setWriteToWAL(boolean)">org.apache.hadoop.hbase.client.Delete.setWriteToWAL(boolean)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Append.html#setWriteToWAL(boolean)">org.apache.hadoop.hbase.client.Append.setWriteToWAL(boolean)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HColumnDescriptor.html#shouldCacheBloomsOnWrite()">org.apache.hadoop.hbase.HColumnDescriptor.shouldCacheBloomsOnWrite()</a>
<div class="block"><i>As of release 1.0.0
             (<a href="https://issues.apache.org/jira/browse/HBASE-10870">HBASE-10870</a>).
             This will be removed in HBase 2.0.0.
             Use <a href="org/apache/hadoop/hbase/HColumnDescriptor.html#isCacheBloomsOnWrite()"><code>HColumnDescriptor.isCacheBloomsOnWrite()</code></a>} instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HColumnDescriptor.html#shouldCacheDataInL1()">org.apache.hadoop.hbase.HColumnDescriptor.shouldCacheDataInL1()</a>
<div class="block"><i>As of release 1.0.0
             (<a href="https://issues.apache.org/jira/browse/HBASE-10870">HBASE-10870</a>).
             This will be removed in HBase 2.0.0. Use <a href="org/apache/hadoop/hbase/HColumnDescriptor.html#isCacheDataInL1()"><code>HColumnDescriptor.isCacheDataInL1()</code></a>} instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HColumnDescriptor.html#shouldCacheDataOnWrite()">org.apache.hadoop.hbase.HColumnDescriptor.shouldCacheDataOnWrite()</a>
<div class="block"><i>As of release 1.0.0
             (<a href="https://issues.apache.org/jira/browse/HBASE-10870">HBASE-10870</a>).
             This will be removed in HBase 2.0.0. Use <a href="org/apache/hadoop/hbase/HColumnDescriptor.html#isCacheDataOnWrite()"><code>HColumnDescriptor.isCacheDataOnWrite()</code></a>} instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HColumnDescriptor.html#shouldCacheIndexesOnWrite()">org.apache.hadoop.hbase.HColumnDescriptor.shouldCacheIndexesOnWrite()</a>
<div class="block"><i>As of release 1.0.0
             (<a href="https://issues.apache.org/jira/browse/HBASE-10870">HBASE-10870</a>).
             This will be removed in HBase 2.0.0.
             Use <a href="org/apache/hadoop/hbase/HColumnDescriptor.html#isCacheIndexesOnWrite()"><code>HColumnDescriptor.isCacheIndexesOnWrite()</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HColumnDescriptor.html#shouldCompressTags()">org.apache.hadoop.hbase.HColumnDescriptor.shouldCompressTags()</a>
<div class="block"><i>As of release 1.0.0
             (<a href="https://issues.apache.org/jira/browse/HBASE-10870">HBASE-10870</a>).
             This will be removed in HBase 2.0.0. Use <a href="org/apache/hadoop/hbase/HColumnDescriptor.html#isCompressTags()"><code>HColumnDescriptor.isCompressTags()</code></a> instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HColumnDescriptor.html#shouldEvictBlocksOnClose()">org.apache.hadoop.hbase.HColumnDescriptor.shouldEvictBlocksOnClose()</a>
<div class="block"><i>As of release 1.0.0
             (<a href="https://issues.apache.org/jira/browse/HBASE-10870">HBASE-10870</a>).
             This will be removed in HBase 2.0.0.
             Use <a href="org/apache/hadoop/hbase/HColumnDescriptor.html#isEvictBlocksOnClose()"><code>HColumnDescriptor.isEvictBlocksOnClose()</code></a>} instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HColumnDescriptor.html#shouldPrefetchBlocksOnOpen()">org.apache.hadoop.hbase.HColumnDescriptor.shouldPrefetchBlocksOnOpen()</a>
<div class="block"><i>As of release 1.0.0
             (<a href="https://issues.apache.org/jira/browse/HBASE-10870">HBASE-10870</a>).
             This will be removed in HBase 2.0.0.
             Use <a href="org/apache/hadoop/hbase/HColumnDescriptor.html#isPrefetchBlocksOnOpen()"><code>HColumnDescriptor.isPrefetchBlocksOnOpen()</code></a>}} instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/filter/FilterList.html#transform(org.apache.hadoop.hbase.KeyValue)">org.apache.hadoop.hbase.filter.FilterList.transform(KeyValue)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/filter/Filter.html#transform(org.apache.hadoop.hbase.KeyValue)">org.apache.hadoop.hbase.filter.Filter.transform(KeyValue)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#tryAtomicRegionLoad(org.apache.hadoop.hbase.client.HConnection,%20byte[],%20byte[],%20java.util.Collection)">org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles.tryAtomicRegionLoad(HConnection, byte[], byte[], Collection<LoadIncrementalHFiles.LoadQueueItem>)</a>
<div class="block"><i>As of release 0.96
             (<a href="https://issues.apache.org/jira/browse/HBASE-9508">HBASE-9508</a>).
             This will be removed in HBase 2.0.0.
             Use <a href="org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#tryAtomicRegionLoad(org.apache.hadoop.hbase.client.Connection,%20org.apache.hadoop.hbase.TableName,%20byte[],%20java.util.Collection)"><code>LoadIncrementalHFiles.tryAtomicRegionLoad(Connection, TableName, byte[], Collection)</code></a>.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#updateCachedLocations(byte[],%20byte[],%20java.lang.Object,%20org.apache.hadoop.hbase.HRegionLocation)">org.apache.hadoop.hbase.client.HConnection.updateCachedLocations(byte[], byte[], Object, HRegionLocation)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#updateCachedLocations(org.apache.hadoop.hbase.TableName,%20byte[],%20byte[],%20java.lang.Object,%20org.apache.hadoop.hbase.ServerName)">org.apache.hadoop.hbase.client.HConnection.updateCachedLocations(TableName, byte[], byte[], Object, ServerName)</a>
<div class="block"><i>internal method, do not use thru HConnection</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/HConnection.html#updateCachedLocations(org.apache.hadoop.hbase.TableName,%20byte[],%20java.lang.Object,%20org.apache.hadoop.hbase.HRegionLocation)">org.apache.hadoop.hbase.client.HConnection.updateCachedLocations(TableName, byte[], Object, HRegionLocation)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HTableDescriptor.html#write(java.io.DataOutput)">org.apache.hadoop.hbase.HTableDescriptor.write(DataOutput)</a>
<div class="block"><i>Writables are going away.
 Use <code>MessageLite.toByteArray()</code> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#write(java.io.DataOutput)">org.apache.hadoop.hbase.HRegionInfo.write(DataOutput)</a>
<div class="block"><i>Use protobuf serialization instead.  See <a href="org/apache/hadoop/hbase/HRegionInfo.html#toByteArray()"><code>HRegionInfo.toByteArray()</code></a> and
 <a href="org/apache/hadoop/hbase/HRegionInfo.html#toDelimitedByteArray()"><code>HRegionInfo.toDelimitedByteArray()</code></a></i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HColumnDescriptor.html#write(java.io.DataOutput)">org.apache.hadoop.hbase.HColumnDescriptor.write(DataOutput)</a>
<div class="block"><i>Writables are going away.  Use <a href="org/apache/hadoop/hbase/HColumnDescriptor.html#toByteArray()"><code>HColumnDescriptor.toByteArray()</code></a> instead.</i></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="constructor">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<table 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/ClusterStatus.html#ClusterStatus()">org.apache.hadoop.hbase.ClusterStatus()</a>
<div class="block"><i>As of release 0.96
             (<a href="https://issues.apache.org/jira/browse/HBASE-6038">HBASE-6038</a>).
             This will be removed in HBase 2.0.0.
             Used by Writables and Writables are going away.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HBaseConfiguration.html#HBaseConfiguration()">org.apache.hadoop.hbase.HBaseConfiguration()</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HBaseConfiguration.html#HBaseConfiguration(org.apache.hadoop.conf.Configuration)">org.apache.hadoop.hbase.HBaseConfiguration(Configuration)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HColumnDescriptor.html#HColumnDescriptor()">org.apache.hadoop.hbase.HColumnDescriptor()</a>
<div class="block"><i>As of release 0.96
             (<a href="https://issues.apache.org/jira/browse/HBASE-5453">HBASE-5453</a>).
             This will be made private in HBase 2.0.0.
             Used by Writables and Writables are going away.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HColumnDescriptor.html#HColumnDescriptor(byte[],%20int,%20int,%20org.apache.hadoop.hbase.KeepDeletedCells,%20java.lang.String,%20boolean,%20java.lang.String,%20boolean,%20boolean,%20int,%20int,%20java.lang.String,%20int)">org.apache.hadoop.hbase.HColumnDescriptor(byte[], int, int, KeepDeletedCells, String, boolean, String, boolean, boolean, int, int, String, int)</a>
<div class="block"><i>As of release 0.96
             (<a href="https://issues.apache.org/jira/browse/HBASE-">HBASE-</a>).
             This will be removed in HBase 2.0.0.
             Use <a href="org/apache/hadoop/hbase/HColumnDescriptor.html#HColumnDescriptor(java.lang.String)"><code>HColumnDescriptor.HColumnDescriptor(String)</code></a> and setters.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HColumnDescriptor.html#HColumnDescriptor(byte[],%20int,%20java.lang.String,%20boolean,%20boolean,%20int,%20int,%20java.lang.String,%20int)">org.apache.hadoop.hbase.HColumnDescriptor(byte[], int, String, boolean, boolean, int, int, String, int)</a>
<div class="block"><i>As of release 0.96
             (<a href="https://issues.apache.org/jira/browse/HBASE-">HBASE-</a>).
             This will be removed in HBase 2.0.0.
             Use <a href="org/apache/hadoop/hbase/HColumnDescriptor.html#HColumnDescriptor(java.lang.String)"><code>HColumnDescriptor.HColumnDescriptor(String)</code></a> and setters.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HColumnDescriptor.html#HColumnDescriptor(byte[],%20int,%20java.lang.String,%20boolean,%20boolean,%20int,%20java.lang.String)">org.apache.hadoop.hbase.HColumnDescriptor(byte[], int, String, boolean, boolean, int, String)</a>
<div class="block"><i>As of release 0.96
             (<a href="https://issues.apache.org/jira/browse/HBASE-">HBASE-</a>).
             This will be removed in HBase 2.0.0.
             Use <a href="org/apache/hadoop/hbase/HColumnDescriptor.html#HColumnDescriptor(java.lang.String)"><code>HColumnDescriptor.HColumnDescriptor(String)</code></a> and setters.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HRegionInfo.html#HRegionInfo()">org.apache.hadoop.hbase.HRegionInfo()</a>
<div class="block"><i>As of release 0.96
             (<a href="https://issues.apache.org/jira/browse/HBASE-5453">HBASE-5453</a>).
             This will be removed in HBase 2.0.0.
             Used by Writables and Writables are going away.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HTableDescriptor.html#HTableDescriptor()">org.apache.hadoop.hbase.HTableDescriptor()</a>
<div class="block"><i>As of release 0.96
             (<a href="https://issues.apache.org/jira/browse/HBASE-5453">HBASE-5453</a>).
             This will be removed in HBase 2.0.0.
             Used by Writables and Writables are going away.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HTableDescriptor.html#HTableDescriptor(byte[])">org.apache.hadoop.hbase.HTableDescriptor(byte[])</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/HTableDescriptor.html#HTableDescriptor(java.lang.String)">org.apache.hadoop.hbase.HTableDescriptor(String)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Result.html#Result(org.apache.hadoop.hbase.KeyValue[])">org.apache.hadoop.hbase.client.Result(KeyValue[])</a>
<div class="block"><i>Use <a href="org/apache/hadoop/hbase/client/Result.html#create(java.util.List)"><code>Result.create(List)</code></a> instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/client/Result.html#Result(java.util.List)">org.apache.hadoop.hbase.client.Result(List<KeyValue>)</a>
<div class="block"><i>Use <a href="org/apache/hadoop/hbase/client/Result.html#create(java.util.List)"><code>Result.create(List)</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/mapreduce/TableSplit.html#TableSplit(byte[],%20byte[],%20byte[],%20java.lang.String)">org.apache.hadoop.hbase.mapreduce.TableSplit(byte[], byte[], byte[], String)</a>
<div class="block"><i>As of release 0.96
             (<a href="https://issues.apache.org/jira/browse/HBASE-9508">HBASE-9508</a>).
             This will be removed in HBase 2.0.0.
             Use <a href="org/apache/hadoop/hbase/mapreduce/TableSplit.html#TableSplit(org.apache.hadoop.hbase.TableName,%20byte[],%20byte[],%20java.lang.String)"><code>TableSplit.TableSplit(TableName, byte[], byte[], String)</code></a>.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/hadoop/hbase/mapreduce/TableSplit.html#TableSplit(byte[],%20org.apache.hadoop.hbase.client.Scan,%20byte[],%20byte[],%20java.lang.String)">org.apache.hadoop.hbase.mapreduce.TableSplit(byte[], Scan, byte[], byte[], String)</a>
<div class="block"><i>As of release 0.96
             (<a href="https://issues.apache.org/jira/browse/HBASE-9508">HBASE-9508</a>).
             This will be removed in HBase 2.0.0.
             Use <a href="org/apache/hadoop/hbase/mapreduce/TableSplit.html#TableSplit(org.apache.hadoop.hbase.TableName,%20byte[],%20byte[],%20java.lang.String)"><code>TableSplit.TableSplit(TableName, byte[], byte[], String)</code></a>.</i></div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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 Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="allclasses-noframe.html">All 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;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
