<!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 (version 1.7.0_95) on Thu Mar 03 18:38:03 EST 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Deprecated List (Apache Accumulo Project 1.5.4 API)</title>
<meta name="date" content="2016-03-03">
<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 Accumulo Project 1.5.4 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="#class">Deprecated Classes</a></li>
<li><a href="#method">Deprecated Methods</a></li>
</ul>
</div>
<div class="contentContainer"><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/accumulo/core/client/mapred/InputFormatBase.RangeInputSplit.html" title="class in org.apache.accumulo.core.client.mapred">org.apache.accumulo.core.client.mapred.InputFormatBase.RangeInputSplit</a>
<div class="block"><i>since 1.5.2; Use <a href="org/apache/accumulo/core/client/mapred/RangeInputSplit.html" title="class in org.apache.accumulo.core.client.mapred"><code>RangeInputSplit</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.RangeInputSplit.html" title="class in org.apache.accumulo.core.client.mapreduce">org.apache.accumulo.core.client.mapreduce.InputFormatBase.RangeInputSplit</a>
<div class="block"><i>since 1.5.2; Use <a href="org/apache/accumulo/core/client/mapreduce/RangeInputSplit.html" title="class in org.apache.accumulo.core.client.mapreduce"><code>RangeInputSplit</code></a> instead.</i></div>
</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/accumulo/core/client/mapreduce/InputFormatBase.html#addIterator(org.apache.hadoop.conf.Configuration,%20org.apache.accumulo.core.client.IteratorSetting)">org.apache.accumulo.core.client.mapreduce.InputFormatBase.addIterator(Configuration, IteratorSetting)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#addIterator(org.apache.hadoop.mapreduce.Job,%20org.apache.accumulo.core.client.IteratorSetting)"><code>InputFormatBase.addIterator(Job, IteratorSetting)</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/admin/SecurityOperationsImpl.html#authenticateUser(java.lang.String,%20byte[])">org.apache.accumulo.core.client.admin.SecurityOperationsImpl.authenticateUser(String, byte[])</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/admin/SecurityOperations.html#authenticateUser(java.lang.String,%20byte[])">org.apache.accumulo.core.client.admin.SecurityOperations.authenticateUser(String, byte[])</a>
<div class="block"><i>since 1.5.0; use <a href="org/apache/accumulo/core/client/admin/SecurityOperations.html#authenticateUser(java.lang.String,%20org.apache.accumulo.core.client.security.tokens.AuthenticationToken)"><code>SecurityOperations.authenticateUser(String, AuthenticationToken)</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mock/MockSecurityOperations.html#authenticateUser(java.lang.String,%20byte[])">org.apache.accumulo.core.client.mock.MockSecurityOperations.authenticateUser(String, byte[])</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.html#canCreateTables(org.apache.hadoop.conf.Configuration)">org.apache.accumulo.core.client.mapreduce.AccumuloOutputFormat.canCreateTables(Configuration)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.html#canCreateTables(org.apache.hadoop.mapreduce.JobContext)"><code>AccumuloOutputFormat.canCreateTables(JobContext)</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/admin/SecurityOperationsImpl.html#changeUserPassword(java.lang.String,%20byte[])">org.apache.accumulo.core.client.admin.SecurityOperationsImpl.changeUserPassword(String, byte[])</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/admin/SecurityOperations.html#changeUserPassword(java.lang.String,%20byte[])">org.apache.accumulo.core.client.admin.SecurityOperations.changeUserPassword(String, byte[])</a>
<div class="block"><i>since 1.5.0; use <a href="org/apache/accumulo/core/client/admin/SecurityOperations.html#changeLocalUserPassword(java.lang.String,%20org.apache.accumulo.core.client.security.tokens.PasswordToken)"><code>SecurityOperations.changeLocalUserPassword(String, PasswordToken)</code></a> or the user management functions of your configured authenticator
             instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mock/MockSecurityOperations.html#changeUserPassword(java.lang.String,%20byte[])">org.apache.accumulo.core.client.mock.MockSecurityOperations.changeUserPassword(String, byte[])</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/Connector.html#createBatchDeleter(java.lang.String,%20org.apache.accumulo.core.security.Authorizations,%20int,%20long,%20long,%20int)">org.apache.accumulo.core.client.Connector.createBatchDeleter(String, Authorizations, int, long, long, int)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/Connector.html#createBatchDeleter(java.lang.String,%20org.apache.accumulo.core.security.Authorizations,%20int,%20org.apache.accumulo.core.client.BatchWriterConfig)"><code>Connector.createBatchDeleter(String, Authorizations, int, BatchWriterConfig)</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mock/MockConnector.html#createBatchDeleter(java.lang.String,%20org.apache.accumulo.core.security.Authorizations,%20int,%20long,%20long,%20int)">org.apache.accumulo.core.client.mock.MockConnector.createBatchDeleter(String, Authorizations, int, long, long, int)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/Connector.html#createBatchWriter(java.lang.String,%20long,%20long,%20int)">org.apache.accumulo.core.client.Connector.createBatchWriter(String, long, long, int)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/Connector.html#createBatchWriter(java.lang.String,%20org.apache.accumulo.core.client.BatchWriterConfig)"><code>Connector.createBatchWriter(String, BatchWriterConfig)</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mock/MockConnector.html#createBatchWriter(java.lang.String,%20long,%20long,%20int)">org.apache.accumulo.core.client.mock.MockConnector.createBatchWriter(String, long, long, int)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/Connector.html#createMultiTableBatchWriter(long,%20long,%20int)">org.apache.accumulo.core.client.Connector.createMultiTableBatchWriter(long, long, int)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/Connector.html#createMultiTableBatchWriter(org.apache.accumulo.core.client.BatchWriterConfig)"><code>Connector.createMultiTableBatchWriter(BatchWriterConfig)</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mock/MockConnector.html#createMultiTableBatchWriter(long,%20long,%20int)">org.apache.accumulo.core.client.mock.MockConnector.createMultiTableBatchWriter(long, long, int)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/admin/SecurityOperationsImpl.html#createUser(java.lang.String,%20byte[],%20org.apache.accumulo.core.security.Authorizations)">org.apache.accumulo.core.client.admin.SecurityOperationsImpl.createUser(String, byte[], Authorizations)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/admin/SecurityOperations.html#createUser(java.lang.String,%20byte[],%20org.apache.accumulo.core.security.Authorizations)">org.apache.accumulo.core.client.admin.SecurityOperations.createUser(String, byte[], Authorizations)</a>
<div class="block"><i>since 1.5.0; use <a href="org/apache/accumulo/core/client/admin/SecurityOperations.html#createLocalUser(java.lang.String,%20org.apache.accumulo.core.client.security.tokens.PasswordToken)"><code>SecurityOperations.createLocalUser(String, PasswordToken)</code></a> or the user management functions of your configured authenticator instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mock/MockSecurityOperations.html#createUser(java.lang.String,%20byte[],%20org.apache.accumulo.core.security.Authorizations)">org.apache.accumulo.core.client.mock.MockSecurityOperations.createUser(String, byte[], Authorizations)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#disableAutoAdjustRanges(org.apache.hadoop.conf.Configuration)">org.apache.accumulo.core.client.mapreduce.InputFormatBase.disableAutoAdjustRanges(Configuration)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#setAutoAdjustRanges(org.apache.hadoop.mapreduce.Job,%20boolean)"><code>InputFormatBase.setAutoAdjustRanges(Job, boolean)</code></a> instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/admin/SecurityOperationsImpl.html#dropUser(java.lang.String)">org.apache.accumulo.core.client.admin.SecurityOperationsImpl.dropUser(String)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/admin/SecurityOperations.html#dropUser(java.lang.String)">org.apache.accumulo.core.client.admin.SecurityOperations.dropUser(String)</a>
<div class="block"><i>since 1.5.0; use <a href="org/apache/accumulo/core/client/admin/SecurityOperations.html#dropUser(java.lang.String)"><code>SecurityOperations.dropUser(String)</code></a> or the user management functions of your configured authenticator instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mock/MockSecurityOperations.html#dropUser(java.lang.String)">org.apache.accumulo.core.client.mock.MockSecurityOperations.dropUser(String)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#fetchColumns(org.apache.hadoop.conf.Configuration,%20java.util.Collection)">org.apache.accumulo.core.client.mapreduce.InputFormatBase.fetchColumns(Configuration, Collection<Pair<Text, Text>>)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#fetchColumns(org.apache.hadoop.mapreduce.Job,%20java.util.Collection)"><code>InputFormatBase.fetchColumns(Job, Collection)</code></a> instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/admin/TableOperationsImpl.html#flush(java.lang.String)">org.apache.accumulo.core.client.admin.TableOperationsImpl.flush(String)</a>
<div class="block"><i>since 1.4 <a href="org/apache/accumulo/core/client/admin/TableOperationsImpl.html#flush(java.lang.String,%20org.apache.hadoop.io.Text,%20org.apache.hadoop.io.Text,%20boolean)"><code>TableOperationsImpl.flush(String, Text, Text, boolean)</code></a></i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/admin/TableOperations.html#flush(java.lang.String)">org.apache.accumulo.core.client.admin.TableOperations.flush(String)</a>
<div class="block"><i>As of release 1.4, replaced by <a href="org/apache/accumulo/core/client/admin/TableOperations.html#flush(java.lang.String,%20org.apache.hadoop.io.Text,%20org.apache.hadoop.io.Text,%20boolean)"><code>TableOperations.flush(String, Text, Text, boolean)</code></a></i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mock/MockTableOperations.html#flush(java.lang.String)">org.apache.accumulo.core.client.mock.MockTableOperations.flush(String)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/MutationsRejectedException.html#getAuthorizationFailures()">org.apache.accumulo.core.client.MutationsRejectedException.getAuthorizationFailures()</a>
<div class="block"><i>since 1.5, see <a href="org/apache/accumulo/core/client/MutationsRejectedException.html#getAuthorizationFailuresMap()"><code>MutationsRejectedException.getAuthorizationFailuresMap()</code></a></i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#getAuthorizations(org.apache.hadoop.conf.Configuration)">org.apache.accumulo.core.client.mapreduce.InputFormatBase.getAuthorizations(Configuration)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#getScanAuthorizations(org.apache.hadoop.mapreduce.JobContext)"><code>InputFormatBase.getScanAuthorizations(JobContext)</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#getAutoAdjustRanges(org.apache.hadoop.conf.Configuration)">org.apache.accumulo.core.client.mapreduce.InputFormatBase.getAutoAdjustRanges(Configuration)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#getAutoAdjustRanges(org.apache.hadoop.mapreduce.JobContext)"><code>InputFormatBase.getAutoAdjustRanges(JobContext)</code></a> instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/ZooKeeperInstance.html#getConnector(org.apache.accumulo.core.security.thrift.AuthInfo)">org.apache.accumulo.core.client.ZooKeeperInstance.getConnector(AuthInfo)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/Instance.html#getConnector(org.apache.accumulo.core.security.thrift.AuthInfo)">org.apache.accumulo.core.client.Instance.getConnector(AuthInfo)</a>
<div class="block"><i>since 1.5, use <a href="org/apache/accumulo/core/client/Instance.html#getConnector(java.lang.String,%20org.apache.accumulo.core.client.security.tokens.AuthenticationToken)"><code>Instance.getConnector(String, AuthenticationToken)</code></a> with <a href="org/apache/accumulo/core/client/security/tokens/PasswordToken.html" title="class in org.apache.accumulo.core.client.security.tokens"><code>PasswordToken</code></a></i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mock/MockInstance.html#getConnector(org.apache.accumulo.core.security.thrift.AuthInfo)">org.apache.accumulo.core.client.mock.MockInstance.getConnector(AuthInfo)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/ZooKeeperInstance.html#getConnector(java.lang.String,%20byte[])">org.apache.accumulo.core.client.ZooKeeperInstance.getConnector(String, byte[])</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/Instance.html#getConnector(java.lang.String,%20byte[])">org.apache.accumulo.core.client.Instance.getConnector(String, byte[])</a>
<div class="block"><i>since 1.5, use <a href="org/apache/accumulo/core/client/Instance.html#getConnector(java.lang.String,%20org.apache.accumulo.core.client.security.tokens.AuthenticationToken)"><code>Instance.getConnector(String, AuthenticationToken)</code></a> with <a href="org/apache/accumulo/core/client/security/tokens/PasswordToken.html" title="class in org.apache.accumulo.core.client.security.tokens"><code>PasswordToken</code></a></i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mock/MockInstance.html#getConnector(java.lang.String,%20byte[])">org.apache.accumulo.core.client.mock.MockInstance.getConnector(String, byte[])</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/ZooKeeperInstance.html#getConnector(java.lang.String,%20java.nio.ByteBuffer)">org.apache.accumulo.core.client.ZooKeeperInstance.getConnector(String, ByteBuffer)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/Instance.html#getConnector(java.lang.String,%20java.nio.ByteBuffer)">org.apache.accumulo.core.client.Instance.getConnector(String, ByteBuffer)</a>
<div class="block"><i>since 1.5, use <a href="org/apache/accumulo/core/client/Instance.html#getConnector(java.lang.String,%20org.apache.accumulo.core.client.security.tokens.AuthenticationToken)"><code>Instance.getConnector(String, AuthenticationToken)</code></a> with <a href="org/apache/accumulo/core/client/security/tokens/PasswordToken.html" title="class in org.apache.accumulo.core.client.security.tokens"><code>PasswordToken</code></a></i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mock/MockInstance.html#getConnector(java.lang.String,%20java.nio.ByteBuffer)">org.apache.accumulo.core.client.mock.MockInstance.getConnector(String, ByteBuffer)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/ZooKeeperInstance.html#getConnector(java.lang.String,%20java.lang.CharSequence)">org.apache.accumulo.core.client.ZooKeeperInstance.getConnector(String, CharSequence)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/Instance.html#getConnector(java.lang.String,%20java.lang.CharSequence)">org.apache.accumulo.core.client.Instance.getConnector(String, CharSequence)</a>
<div class="block"><i>since 1.5, use <a href="org/apache/accumulo/core/client/Instance.html#getConnector(java.lang.String,%20org.apache.accumulo.core.client.security.tokens.AuthenticationToken)"><code>Instance.getConnector(String, AuthenticationToken)</code></a> with <a href="org/apache/accumulo/core/client/security/tokens/PasswordToken.html" title="class in org.apache.accumulo.core.client.security.tokens"><code>PasswordToken</code></a></i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mock/MockInstance.html#getConnector(java.lang.String,%20java.lang.CharSequence)">org.apache.accumulo.core.client.mock.MockInstance.getConnector(String, CharSequence)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.html#getDefaultTableName(org.apache.hadoop.conf.Configuration)">org.apache.accumulo.core.client.mapreduce.AccumuloOutputFormat.getDefaultTableName(Configuration)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.html#getDefaultTableName(org.apache.hadoop.mapreduce.JobContext)"><code>AccumuloOutputFormat.getDefaultTableName(JobContext)</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/AccumuloSecurityException.html#getErrorCode()">org.apache.accumulo.core.client.AccumuloSecurityException.getErrorCode()</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/AccumuloSecurityException.html#getSecurityErrorCode()"><code>AccumuloSecurityException.getSecurityErrorCode()</code></a> instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#getFetchedColumns(org.apache.hadoop.conf.Configuration)">org.apache.accumulo.core.client.mapreduce.InputFormatBase.getFetchedColumns(Configuration)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#getFetchedColumns(org.apache.hadoop.mapreduce.JobContext)"><code>InputFormatBase.getFetchedColumns(JobContext)</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.html#getInstance(org.apache.hadoop.conf.Configuration)">org.apache.accumulo.core.client.mapreduce.AccumuloOutputFormat.getInstance(Configuration)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.html#getInstance(org.apache.hadoop.mapreduce.JobContext)"><code>AccumuloOutputFormat.getInstance(JobContext)</code></a> instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/AccumuloFileOutputFormat.html#getInstance(org.apache.hadoop.conf.Configuration)">org.apache.accumulo.core.client.mapreduce.AccumuloFileOutputFormat.getInstance(Configuration)</a>
<div class="block"><i>since 1.5.0; This <code>OutputFormat</code> does not communicate with Accumulo. If this is needed, subclasses must implement their own
             configuration.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#getInstance(org.apache.hadoop.conf.Configuration)">org.apache.accumulo.core.client.mapreduce.InputFormatBase.getInstance(Configuration)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#getInstance(org.apache.hadoop.mapreduce.JobContext)"><code>InputFormatBase.getInstance(JobContext)</code></a> instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/ZooKeeperInstance.html#getInstanceIDFromHdfs(org.apache.hadoop.fs.Path)">org.apache.accumulo.core.client.ZooKeeperInstance.getInstanceIDFromHdfs(Path)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#getIteratorOptions(org.apache.hadoop.conf.Configuration)">org.apache.accumulo.core.client.mapreduce.InputFormatBase.getIteratorOptions(Configuration)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#getIterators(org.apache.hadoop.mapreduce.JobContext)"><code>InputFormatBase.getIterators(JobContext)</code></a> instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#getIterators(org.apache.hadoop.conf.Configuration)">org.apache.accumulo.core.client.mapreduce.InputFormatBase.getIterators(Configuration)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#getIterators(org.apache.hadoop.mapreduce.JobContext)"><code>InputFormatBase.getIterators(JobContext)</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.html#getLogLevel(org.apache.hadoop.conf.Configuration)">org.apache.accumulo.core.client.mapreduce.AccumuloOutputFormat.getLogLevel(Configuration)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.html#getLogLevel(org.apache.hadoop.mapreduce.JobContext)"><code>AccumuloOutputFormat.getLogLevel(JobContext)</code></a> instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#getLogLevel(org.apache.hadoop.conf.Configuration)">org.apache.accumulo.core.client.mapreduce.InputFormatBase.getLogLevel(Configuration)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#getLogLevel(org.apache.hadoop.mapreduce.JobContext)"><code>InputFormatBase.getLogLevel(JobContext)</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.html#getMaxLatency(org.apache.hadoop.conf.Configuration)">org.apache.accumulo.core.client.mapreduce.AccumuloOutputFormat.getMaxLatency(Configuration)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.html#getBatchWriterOptions(org.apache.hadoop.mapreduce.JobContext)"><code>AccumuloOutputFormat.getBatchWriterOptions(JobContext)</code></a> instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.html#getMaxMutationBufferSize(org.apache.hadoop.conf.Configuration)">org.apache.accumulo.core.client.mapreduce.AccumuloOutputFormat.getMaxMutationBufferSize(Configuration)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.html#getBatchWriterOptions(org.apache.hadoop.mapreduce.JobContext)"><code>AccumuloOutputFormat.getBatchWriterOptions(JobContext)</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#getMaxVersions(org.apache.hadoop.conf.Configuration)">org.apache.accumulo.core.client.mapreduce.InputFormatBase.getMaxVersions(Configuration)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#addIterator(org.apache.hadoop.mapreduce.Job,%20org.apache.accumulo.core.client.IteratorSetting)"><code>InputFormatBase.addIterator(Job, IteratorSetting)</code></a> to add the <code>VersioningIterator</code> instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.html#getMaxWriteThreads(org.apache.hadoop.conf.Configuration)">org.apache.accumulo.core.client.mapreduce.AccumuloOutputFormat.getMaxWriteThreads(Configuration)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.html#getBatchWriterOptions(org.apache.hadoop.mapreduce.JobContext)"><code>AccumuloOutputFormat.getBatchWriterOptions(JobContext)</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.html#getPrincipal(org.apache.hadoop.conf.Configuration)">org.apache.accumulo.core.client.mapreduce.AccumuloOutputFormat.getPrincipal(Configuration)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.html#getToken(org.apache.hadoop.mapreduce.JobContext)"><code>AccumuloOutputFormat.getToken(JobContext)</code></a> instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#getPrincipal(org.apache.hadoop.conf.Configuration)">org.apache.accumulo.core.client.mapreduce.InputFormatBase.getPrincipal(Configuration)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#getPrincipal(org.apache.hadoop.mapreduce.JobContext)"><code>InputFormatBase.getPrincipal(JobContext)</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#getRanges(org.apache.hadoop.conf.Configuration)">org.apache.accumulo.core.client.mapreduce.InputFormatBase.getRanges(Configuration)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#getRanges(org.apache.hadoop.mapreduce.JobContext)"><code>InputFormatBase.getRanges(JobContext)</code></a> instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.html#getSimulationMode(org.apache.hadoop.conf.Configuration)">org.apache.accumulo.core.client.mapreduce.AccumuloOutputFormat.getSimulationMode(Configuration)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.html#getSimulationMode(org.apache.hadoop.mapreduce.JobContext)"><code>AccumuloOutputFormat.getSimulationMode(JobContext)</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/admin/TableOperationsImpl.html#getSplits(java.lang.String)">org.apache.accumulo.core.client.admin.TableOperationsImpl.getSplits(String)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/admin/TableOperations.html#getSplits(java.lang.String)">org.apache.accumulo.core.client.admin.TableOperations.getSplits(String)</a>
<div class="block"><i>since 1.5.0; use <a href="org/apache/accumulo/core/client/admin/TableOperations.html#listSplits(java.lang.String)"><code>TableOperations.listSplits(String)</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mock/MockTableOperations.html#getSplits(java.lang.String)">org.apache.accumulo.core.client.mock.MockTableOperations.getSplits(String)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/admin/TableOperationsImpl.html#getSplits(java.lang.String,%20int)">org.apache.accumulo.core.client.admin.TableOperationsImpl.getSplits(String, int)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/admin/TableOperations.html#getSplits(java.lang.String,%20int)">org.apache.accumulo.core.client.admin.TableOperations.getSplits(String, int)</a>
<div class="block"><i>since 1.5.0; use <a href="org/apache/accumulo/core/client/admin/TableOperations.html#listSplits(java.lang.String,%20int)"><code>TableOperations.listSplits(String, int)</code></a> instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mock/MockTableOperations.html#getSplits(java.lang.String,%20int)">org.apache.accumulo.core.client.mock.MockTableOperations.getSplits(String, int)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#getTablename(org.apache.hadoop.conf.Configuration)">org.apache.accumulo.core.client.mapreduce.InputFormatBase.getTablename(Configuration)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#getInputTableName(org.apache.hadoop.mapreduce.JobContext)"><code>InputFormatBase.getInputTableName(JobContext)</code></a> instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#getTabletLocator(org.apache.hadoop.conf.Configuration)">org.apache.accumulo.core.client.mapreduce.InputFormatBase.getTabletLocator(Configuration)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#getTabletLocator(org.apache.hadoop.mapreduce.JobContext)"><code>InputFormatBase.getTabletLocator(JobContext)</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/IsolatedScanner.html#getTimeOut()">org.apache.accumulo.core.client.IsolatedScanner.getTimeOut()</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/ClientSideIteratorScanner.html#getTimeOut()">org.apache.accumulo.core.client.ClientSideIteratorScanner.getTimeOut()</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/Scanner.html#getTimeOut()">org.apache.accumulo.core.client.Scanner.getTimeOut()</a>
<div class="block"><i>Since 1.5. See <a href="org/apache/accumulo/core/client/ScannerBase.html#getTimeout(java.util.concurrent.TimeUnit)"><code>ScannerBase.getTimeout(java.util.concurrent.TimeUnit)</code></a></i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mock/MockScanner.html#getTimeOut()">org.apache.accumulo.core.client.mock.MockScanner.getTimeOut()</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.html#getToken(org.apache.hadoop.conf.Configuration)">org.apache.accumulo.core.client.mapreduce.AccumuloOutputFormat.getToken(Configuration)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.html#getToken(org.apache.hadoop.mapreduce.JobContext)"><code>AccumuloOutputFormat.getToken(JobContext)</code></a> instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#getToken(org.apache.hadoop.conf.Configuration)">org.apache.accumulo.core.client.mapreduce.InputFormatBase.getToken(Configuration)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#getToken(org.apache.hadoop.mapreduce.JobContext)"><code>InputFormatBase.getToken(JobContext)</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/AccumuloFileOutputFormat.html#handleBlockSize(org.apache.hadoop.conf.Configuration)">org.apache.accumulo.core.client.mapreduce.AccumuloFileOutputFormat.handleBlockSize(Configuration)</a>
<div class="block"><i>since 1.5.0; Retrieve the relevant block size from <a href="org/apache/accumulo/core/client/mapreduce/AccumuloFileOutputFormat.html#getAccumuloConfiguration(org.apache.hadoop.mapreduce.JobContext)"><code>AccumuloFileOutputFormat.getAccumuloConfiguration(JobContext)</code></a> and configure hadoop's
             io.seqfile.compress.blocksize with the same value. No longer needed, as <code>RFile</code> does not use this field.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#isIsolated(org.apache.hadoop.conf.Configuration)">org.apache.accumulo.core.client.mapreduce.InputFormatBase.isIsolated(Configuration)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#isIsolated(org.apache.hadoop.mapreduce.JobContext)"><code>InputFormatBase.isIsolated(JobContext)</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#isOfflineScan(org.apache.hadoop.conf.Configuration)">org.apache.accumulo.core.client.mapreduce.InputFormatBase.isOfflineScan(Configuration)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#isOfflineScan(org.apache.hadoop.mapreduce.JobContext)"><code>InputFormatBase.isOfflineScan(JobContext)</code></a> instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/admin/SecurityOperationsImpl.html#listUsers()">org.apache.accumulo.core.client.admin.SecurityOperationsImpl.listUsers()</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/admin/SecurityOperations.html#listUsers()">org.apache.accumulo.core.client.admin.SecurityOperations.listUsers()</a>
<div class="block"><i>since 1.5.0; use <a href="org/apache/accumulo/core/client/admin/SecurityOperations.html#listLocalUsers()"><code>SecurityOperations.listLocalUsers()</code></a> or the user management functions of your configured authenticator instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mock/MockSecurityOperations.html#listUsers()">org.apache.accumulo.core.client.mock.MockSecurityOperations.listUsers()</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/ZooKeeperInstance.html#lookupInstanceName(org.apache.accumulo.core.zookeeper.ZooCache,%20java.util.UUID)">org.apache.accumulo.core.client.ZooKeeperInstance.lookupInstanceName(ZooCache, UUID)</a>
<div class="block"><i>Use <a href="org/apache/accumulo/core/client/ZooKeeperInstance.html#lookupInstanceName(org.apache.accumulo.fate.zookeeper.ZooCache,%20java.util.UUID)"><code>ZooKeeperInstance.lookupInstanceName(org.apache.accumulo.fate.zookeeper.ZooCache, UUID)</code></a> instead</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/AccumuloFileOutputFormat.html#setBlockSize(org.apache.hadoop.conf.Configuration,%20int)">org.apache.accumulo.core.client.mapreduce.AccumuloFileOutputFormat.setBlockSize(Configuration, int)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/AccumuloFileOutputFormat.html#setFileBlockSize(org.apache.hadoop.mapreduce.Job,%20long)"><code>AccumuloFileOutputFormat.setFileBlockSize(Job, long)</code></a>, <a href="org/apache/accumulo/core/client/mapreduce/AccumuloFileOutputFormat.html#setDataBlockSize(org.apache.hadoop.mapreduce.Job,%20long)"><code>AccumuloFileOutputFormat.setDataBlockSize(Job, long)</code></a>, or <a href="org/apache/accumulo/core/client/mapreduce/AccumuloFileOutputFormat.html#setIndexBlockSize(org.apache.hadoop.mapreduce.Job,%20long)"><code>AccumuloFileOutputFormat.setIndexBlockSize(Job, long)</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/AccumuloFileOutputFormat.html#setFileType(org.apache.hadoop.conf.Configuration,%20java.lang.String)">org.apache.accumulo.core.client.mapreduce.AccumuloFileOutputFormat.setFileType(Configuration, String)</a>
<div class="block"><i>since 1.5.0; This method does nothing. Only 'rf' type is supported.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#setInputInfo(org.apache.hadoop.conf.Configuration,%20java.lang.String,%20byte[],%20java.lang.String,%20org.apache.accumulo.core.security.Authorizations)">org.apache.accumulo.core.client.mapreduce.InputFormatBase.setInputInfo(Configuration, String, byte[], String, Authorizations)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#setConnectorInfo(org.apache.hadoop.mapreduce.Job,%20java.lang.String,%20org.apache.accumulo.core.client.security.tokens.AuthenticationToken)"><code>InputFormatBase.setConnectorInfo(Job, String, AuthenticationToken)</code></a>, <a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#setInputTableName(org.apache.hadoop.mapreduce.Job,%20java.lang.String)"><code>InputFormatBase.setInputTableName(Job, String)</code></a>, and
             <a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#setScanAuthorizations(org.apache.hadoop.mapreduce.Job,%20org.apache.accumulo.core.security.Authorizations)"><code>InputFormatBase.setScanAuthorizations(Job, Authorizations)</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#setIsolated(org.apache.hadoop.conf.Configuration,%20boolean)">org.apache.accumulo.core.client.mapreduce.InputFormatBase.setIsolated(Configuration, boolean)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#setScanIsolation(org.apache.hadoop.mapreduce.Job,%20boolean)"><code>InputFormatBase.setScanIsolation(Job, boolean)</code></a> instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#setLocalIterators(org.apache.hadoop.conf.Configuration,%20boolean)">org.apache.accumulo.core.client.mapreduce.InputFormatBase.setLocalIterators(Configuration, boolean)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#setLocalIterators(org.apache.hadoop.mapreduce.Job,%20boolean)"><code>InputFormatBase.setLocalIterators(Job, boolean)</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.html#setLogLevel(org.apache.hadoop.conf.Configuration,%20org.apache.log4j.Level)">org.apache.accumulo.core.client.mapreduce.AccumuloOutputFormat.setLogLevel(Configuration, Level)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.html#setLogLevel(org.apache.hadoop.mapreduce.Job,%20org.apache.log4j.Level)"><code>AccumuloOutputFormat.setLogLevel(Job, Level)</code></a> instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#setLogLevel(org.apache.hadoop.conf.Configuration,%20org.apache.log4j.Level)">org.apache.accumulo.core.client.mapreduce.InputFormatBase.setLogLevel(Configuration, Level)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#setLogLevel(org.apache.hadoop.mapreduce.Job,%20org.apache.log4j.Level)"><code>InputFormatBase.setLogLevel(Job, Level)</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.html#setMaxLatency(org.apache.hadoop.conf.Configuration,%20int)">org.apache.accumulo.core.client.mapreduce.AccumuloOutputFormat.setMaxLatency(Configuration, int)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.html#setBatchWriterOptions(org.apache.hadoop.mapreduce.Job,%20org.apache.accumulo.core.client.BatchWriterConfig)"><code>AccumuloOutputFormat.setBatchWriterOptions(Job, BatchWriterConfig)</code></a> instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.html#setMaxMutationBufferSize(org.apache.hadoop.conf.Configuration,%20long)">org.apache.accumulo.core.client.mapreduce.AccumuloOutputFormat.setMaxMutationBufferSize(Configuration, long)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.html#setBatchWriterOptions(org.apache.hadoop.mapreduce.Job,%20org.apache.accumulo.core.client.BatchWriterConfig)"><code>AccumuloOutputFormat.setBatchWriterOptions(Job, BatchWriterConfig)</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#setMaxVersions(org.apache.hadoop.conf.Configuration,%20int)">org.apache.accumulo.core.client.mapreduce.InputFormatBase.setMaxVersions(Configuration, int)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#addIterator(org.apache.hadoop.mapreduce.Job,%20org.apache.accumulo.core.client.IteratorSetting)"><code>InputFormatBase.addIterator(Job, IteratorSetting)</code></a> to add the <code>VersioningIterator</code> instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.html#setMaxWriteThreads(org.apache.hadoop.conf.Configuration,%20int)">org.apache.accumulo.core.client.mapreduce.AccumuloOutputFormat.setMaxWriteThreads(Configuration, int)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.html#setBatchWriterOptions(org.apache.hadoop.mapreduce.Job,%20org.apache.accumulo.core.client.BatchWriterConfig)"><code>AccumuloOutputFormat.setBatchWriterOptions(Job, BatchWriterConfig)</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.html#setMockInstance(org.apache.hadoop.conf.Configuration,%20java.lang.String)">org.apache.accumulo.core.client.mapreduce.AccumuloOutputFormat.setMockInstance(Configuration, String)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.html#setMockInstance(org.apache.hadoop.mapreduce.Job,%20java.lang.String)"><code>AccumuloOutputFormat.setMockInstance(Job, String)</code></a> instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#setMockInstance(org.apache.hadoop.conf.Configuration,%20java.lang.String)">org.apache.accumulo.core.client.mapreduce.InputFormatBase.setMockInstance(Configuration, String)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#setMockInstance(org.apache.hadoop.mapreduce.Job,%20java.lang.String)"><code>InputFormatBase.setMockInstance(Job, String)</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.html#setOutputInfo(org.apache.hadoop.conf.Configuration,%20java.lang.String,%20byte[],%20boolean,%20java.lang.String)">org.apache.accumulo.core.client.mapreduce.AccumuloOutputFormat.setOutputInfo(Configuration, String, byte[], boolean, String)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.html#setConnectorInfo(org.apache.hadoop.mapreduce.Job,%20java.lang.String,%20org.apache.accumulo.core.client.security.tokens.AuthenticationToken)"><code>AccumuloOutputFormat.setConnectorInfo(Job, String, AuthenticationToken)</code></a>, <a href="org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.html#setCreateTables(org.apache.hadoop.mapreduce.Job,%20boolean)"><code>AccumuloOutputFormat.setCreateTables(Job, boolean)</code></a>, and
             <a href="org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.html#setDefaultTableName(org.apache.hadoop.mapreduce.Job,%20java.lang.String)"><code>AccumuloOutputFormat.setDefaultTableName(Job, String)</code></a> instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#setRanges(org.apache.hadoop.conf.Configuration,%20java.util.Collection)">org.apache.accumulo.core.client.mapreduce.InputFormatBase.setRanges(Configuration, Collection<Range>)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#setRanges(org.apache.hadoop.mapreduce.Job,%20java.util.Collection)"><code>InputFormatBase.setRanges(Job, Collection)</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#setScanOffline(org.apache.hadoop.conf.Configuration,%20boolean)">org.apache.accumulo.core.client.mapreduce.InputFormatBase.setScanOffline(Configuration, boolean)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#setOfflineTableScan(org.apache.hadoop.mapreduce.Job,%20boolean)"><code>InputFormatBase.setOfflineTableScan(Job, boolean)</code></a> instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.html#setSimulationMode(org.apache.hadoop.conf.Configuration)">org.apache.accumulo.core.client.mapreduce.AccumuloOutputFormat.setSimulationMode(Configuration)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.html#setSimulationMode(org.apache.hadoop.mapreduce.Job,%20boolean)"><code>AccumuloOutputFormat.setSimulationMode(Job, boolean)</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/data/ColumnUpdate.html#setSystemTimestamp(long)">org.apache.accumulo.core.data.ColumnUpdate.setSystemTimestamp(long)</a>
<div class="block"><i>use setTimestamp(long);</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/IsolatedScanner.html#setTimeOut(int)">org.apache.accumulo.core.client.IsolatedScanner.setTimeOut(int)</a></td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/ClientSideIteratorScanner.html#setTimeOut(int)">org.apache.accumulo.core.client.ClientSideIteratorScanner.setTimeOut(int)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/Scanner.html#setTimeOut(int)">org.apache.accumulo.core.client.Scanner.setTimeOut(int)</a>
<div class="block"><i>Since 1.5. See <a href="org/apache/accumulo/core/client/ScannerBase.html#setTimeout(long,%20java.util.concurrent.TimeUnit)"><code>ScannerBase.setTimeout(long, java.util.concurrent.TimeUnit)</code></a></i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mock/MockScanner.html#setTimeOut(int)">org.apache.accumulo.core.client.mock.MockScanner.setTimeOut(int)</a></td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.html#setZooKeeperInstance(org.apache.hadoop.conf.Configuration,%20java.lang.String,%20java.lang.String)">org.apache.accumulo.core.client.mapreduce.AccumuloOutputFormat.setZooKeeperInstance(Configuration, String, String)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.html#setZooKeeperInstance(org.apache.hadoop.mapreduce.Job,%20java.lang.String,%20java.lang.String)"><code>AccumuloOutputFormat.setZooKeeperInstance(Job, String, String)</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/AccumuloFileOutputFormat.html#setZooKeeperInstance(org.apache.hadoop.conf.Configuration,%20java.lang.String,%20java.lang.String)">org.apache.accumulo.core.client.mapreduce.AccumuloFileOutputFormat.setZooKeeperInstance(Configuration, String, String)</a>
<div class="block"><i>since 1.5.0; This <code>OutputFormat</code> does not communicate with Accumulo. If this is needed, subclasses must implement their own
             configuration.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#setZooKeeperInstance(org.apache.hadoop.conf.Configuration,%20java.lang.String,%20java.lang.String)">org.apache.accumulo.core.client.mapreduce.InputFormatBase.setZooKeeperInstance(Configuration, String, String)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#setZooKeeperInstance(org.apache.hadoop.mapreduce.Job,%20java.lang.String,%20java.lang.String)"><code>InputFormatBase.setZooKeeperInstance(Job, String, String)</code></a> instead.</i></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#usesLocalIterators(org.apache.hadoop.conf.Configuration)">org.apache.accumulo.core.client.mapreduce.InputFormatBase.usesLocalIterators(Configuration)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#usesLocalIterators(org.apache.hadoop.mapreduce.JobContext)"><code>InputFormatBase.usesLocalIterators(JobContext)</code></a> instead.</i></div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#validateOptions(org.apache.hadoop.conf.Configuration)">org.apache.accumulo.core.client.mapreduce.InputFormatBase.validateOptions(Configuration)</a>
<div class="block"><i>since 1.5.0; Use <a href="org/apache/accumulo/core/client/mapreduce/InputFormatBase.html#validateOptions(org.apache.hadoop.mapreduce.JobContext)"><code>InputFormatBase.validateOptions(JobContext)</code></a> instead.</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; 2011-2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</small></p>
</body>
</html>
