blob: 69d53a0111b67fb14d6b4fcfd2906f7c9ed53cb9 [file] [log] [blame]
<!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 -->
<title>KuduTestHarness</title>
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="KuduTestHarness";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":9,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></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&nbsp;Class</li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/kudu/test/KuduTestHarness.html" target="_top">Frames</a></li>
<li><a href="KuduTestHarness.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.kudu.test</div>
<h2 title="Class KuduTestHarness" class="title">Class KuduTestHarness</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.junit.rules.ExternalResource</li>
<li>
<ul class="inheritance">
<li>org.apache.kudu.test.KuduTestHarness</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>org.junit.rules.TestRule</dd>
</dl>
<hr>
<br>
<pre>@InterfaceAudience.Public
@InterfaceStability.Evolving
public class <span class="typeNameLabel">KuduTestHarness</span>
extends org.junit.rules.ExternalResource</pre>
<div class="block">A Junit Rule that manages a Kudu cluster and clients for testing.
This rule also includes utility methods for the cluster
and clients.
<pre>
public static class TestFoo {
&#064;Rule
public KuduTestHarness harness = new KuduTestHarness();
...
}
</pre></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#DEFAULT_SLEEP">DEFAULT_SLEEP</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#KuduTestHarness--">KuduTestHarness</a></span>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#KuduTestHarness-org.apache.kudu.test.cluster.MiniKuduCluster.MiniKuduClusterBuilder-">KuduTestHarness</a></span>(org.apache.kudu.test.cluster.MiniKuduCluster.MiniKuduClusterBuilder&nbsp;clusterBuilder)</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#after--">after</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>org.junit.runners.model.Statement</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#apply-org.junit.runners.model.Statement-org.junit.runner.Description-">apply</a></span>(org.junit.runners.model.Statement&nbsp;base,
org.junit.runner.Description&nbsp;description)</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#before--">before</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>org.apache.kudu.client.HostAndPort</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#findLeaderMasterServer--">findLeaderMasterServer</a></span>()</code>
<div class="block">Find the host and port of the leader master.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>org.apache.kudu.client.HostAndPort</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#findLeaderTabletServer-org.apache.kudu.client.LocatedTablet-">findLeaderTabletServer</a></span>(<a href="../../../../org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client">LocatedTablet</a>&nbsp;tablet)</code>
<div class="block">Finds the RPC port of the given tablet's leader tserver.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#getAsyncClient--">getAsyncClient</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static org.apache.kudu.test.cluster.MiniKuduCluster.MiniKuduClusterBuilder</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#getBaseClusterBuilder--">getBaseClusterBuilder</a></span>()</code>
<div class="block">Returns the base MiniKuduClusterBuilder used when creating a
KuduTestHarness with the default constructor.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#getClient--">getClient</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#getClusterRoot--">getClusterRoot</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#getMasterAddressesAsString--">getMasterAddressesAsString</a></span>()</code>
<div class="block">Return the comma-separated list of "host:port" pairs that describes the master
config for this cluster.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.kudu.client.HostAndPort&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#getMasterServers--">getMasterServers</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.kudu.client.HostAndPort&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#getTabletServers--">getTabletServers</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#kdestroy--">kdestroy</a></span>()</code>
<div class="block">Removes all credentials for all principals from the Kerberos credential cache.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#killAllMasterServers--">killAllMasterServers</a></span>()</code>
<div class="block">Kills all the master servers.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#killAllTabletServers--">killAllTabletServers</a></span>()</code>
<div class="block">Kills all the tablet servers.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#killLeaderMasterServer--">killLeaderMasterServer</a></span>()</code>
<div class="block">Helper method to easily kill the leader master.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#killTabletLeader-org.apache.kudu.client.KuduTable-">killTabletLeader</a></span>(<a href="../../../../org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a>&nbsp;table)</code>
<div class="block">Helper method to easily kill a tablet server that serves the given table's only tablet's
leader.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#killTabletLeader-org.apache.kudu.client.LocatedTablet-">killTabletLeader</a></span>(<a href="../../../../org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client">LocatedTablet</a>&nbsp;tablet)</code>
<div class="block">Helper method to kill a tablet server that serves the given tablet's
leader.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#killTabletLeader-org.apache.kudu.client.RemoteTablet-">killTabletLeader</a></span>(org.apache.kudu.client.RemoteTablet&nbsp;tablet)</code>
<div class="block">Helper method to kill a tablet server that serves the given tablet's
leader.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#kinit-java.lang.String-">kinit</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;username)</code>
<div class="block">Re-initialize Kerberos credentials for the given username, writing them
into the Kerberos credential cache.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#resetClients--">resetClients</a></span>()</code>
<div class="block">Resets the clients so that their state is completely fresh, including meta
cache, connections, open tables, sessions and scanners, and propagated timestamp.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#restartLeaderMaster--">restartLeaderMaster</a></span>()</code>
<div class="block">Kills and restarts the leader master.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#restartTabletServer-org.apache.kudu.client.KuduTable-">restartTabletServer</a></span>(<a href="../../../../org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a>&nbsp;table)</code>
<div class="block">Picks at random a tablet server that serves tablets from the passed table and restarts it.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#restartTabletServer-org.apache.kudu.client.RemoteTablet-">restartTabletServer</a></span>(org.apache.kudu.client.RemoteTablet&nbsp;tablet)</code>
<div class="block">Kills a tablet server that serves the given tablet's leader and restarts it.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#startAllMasterServers--">startAllMasterServers</a></span>()</code>
<div class="block">Starts all the master servers.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/test/KuduTestHarness.html#startAllTabletServers--">startAllTabletServers</a></span>()</code>
<div class="block">Starts all the tablet servers.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="DEFAULT_SLEEP">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DEFAULT_SLEEP</h4>
<pre>public static final&nbsp;int DEFAULT_SLEEP</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.kudu.test.KuduTestHarness.DEFAULT_SLEEP">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="KuduTestHarness-org.apache.kudu.test.cluster.MiniKuduCluster.MiniKuduClusterBuilder-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>KuduTestHarness</h4>
<pre>public&nbsp;KuduTestHarness(org.apache.kudu.test.cluster.MiniKuduCluster.MiniKuduClusterBuilder&nbsp;clusterBuilder)</pre>
</li>
</ul>
<a name="KuduTestHarness--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>KuduTestHarness</h4>
<pre>public&nbsp;KuduTestHarness()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getBaseClusterBuilder--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBaseClusterBuilder</h4>
<pre>public static&nbsp;org.apache.kudu.test.cluster.MiniKuduCluster.MiniKuduClusterBuilder&nbsp;getBaseClusterBuilder()</pre>
<div class="block">Returns the base MiniKuduClusterBuilder used when creating a
KuduTestHarness with the default constructor. This is useful
if you want to add to the default cluster setup.</div>
</li>
</ul>
<a name="apply-org.junit.runners.model.Statement-org.junit.runner.Description-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>apply</h4>
<pre>public&nbsp;org.junit.runners.model.Statement&nbsp;apply(org.junit.runners.model.Statement&nbsp;base,
org.junit.runner.Description&nbsp;description)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>apply</code>&nbsp;in interface&nbsp;<code>org.junit.rules.TestRule</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>apply</code>&nbsp;in class&nbsp;<code>org.junit.rules.ExternalResource</code></dd>
</dl>
</li>
</ul>
<a name="before--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>before</h4>
<pre>public&nbsp;void&nbsp;before()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>before</code>&nbsp;in class&nbsp;<code>org.junit.rules.ExternalResource</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="after--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>after</h4>
<pre>public&nbsp;void&nbsp;after()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>after</code>&nbsp;in class&nbsp;<code>org.junit.rules.ExternalResource</code></dd>
</dl>
</li>
</ul>
<a name="getClient--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getClient</h4>
<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a>&nbsp;getClient()</pre>
</li>
</ul>
<a name="getAsyncClient--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAsyncClient</h4>
<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a>&nbsp;getAsyncClient()</pre>
</li>
</ul>
<a name="killTabletLeader-org.apache.kudu.client.KuduTable-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>killTabletLeader</h4>
<pre>public&nbsp;void&nbsp;killTabletLeader(<a href="../../../../org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a>&nbsp;table)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Helper method to easily kill a tablet server that serves the given table's only tablet's
leader. The currently running test case will be failed if there's more than one tablet,
if the tablet has no leader after some retries, or if the tablet server was already killed.
This method is thread-safe.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>table</code> - a KuduTable which will get its single tablet's leader killed.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="killTabletLeader-org.apache.kudu.client.RemoteTablet-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>killTabletLeader</h4>
<pre>public&nbsp;void&nbsp;killTabletLeader(org.apache.kudu.client.RemoteTablet&nbsp;tablet)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Helper method to kill a tablet server that serves the given tablet's
leader. The currently running test case will be failed if the tablet has no
leader after some retries, or if the tablet server was already killed.
This method is thread-safe.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>tablet</code> - a RemoteTablet which will get its leader killed</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="killTabletLeader-org.apache.kudu.client.LocatedTablet-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>killTabletLeader</h4>
<pre>public&nbsp;void&nbsp;killTabletLeader(<a href="../../../../org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client">LocatedTablet</a>&nbsp;tablet)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Helper method to kill a tablet server that serves the given tablet's
leader. The currently running test case will be failed if the tablet has no
leader after some retries, or if the tablet server was already killed.
This method is thread-safe.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>tablet</code> - a LocatedTablet which will get its leader killed</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="findLeaderTabletServer-org.apache.kudu.client.LocatedTablet-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>findLeaderTabletServer</h4>
<pre>public&nbsp;org.apache.kudu.client.HostAndPort&nbsp;findLeaderTabletServer(<a href="../../../../org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client">LocatedTablet</a>&nbsp;tablet)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Finds the RPC port of the given tablet's leader tserver.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>tablet</code> - a LocatedTablet</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the host and port of the given tablet's leader tserver</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - if we are unable to find the leader tserver</dd>
</dl>
</li>
</ul>
<a name="killLeaderMasterServer--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>killLeaderMasterServer</h4>
<pre>public&nbsp;void&nbsp;killLeaderMasterServer()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Helper method to easily kill the leader master.
This method is thread-safe.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - if there is an error finding or killing the leader master.</dd>
</dl>
</li>
</ul>
<a name="findLeaderMasterServer--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>findLeaderMasterServer</h4>
<pre>public&nbsp;org.apache.kudu.client.HostAndPort&nbsp;findLeaderMasterServer()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Find the host and port of the leader master.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the host and port of the leader master</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - if we are unable to find the leader master</dd>
</dl>
</li>
</ul>
<a name="restartTabletServer-org.apache.kudu.client.KuduTable-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>restartTabletServer</h4>
<pre>public&nbsp;void&nbsp;restartTabletServer(<a href="../../../../org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a>&nbsp;table)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Picks at random a tablet server that serves tablets from the passed table and restarts it.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>table</code> - table to query for a TS to restart</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="restartTabletServer-org.apache.kudu.client.RemoteTablet-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>restartTabletServer</h4>
<pre>public&nbsp;void&nbsp;restartTabletServer(org.apache.kudu.client.RemoteTablet&nbsp;tablet)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Kills a tablet server that serves the given tablet's leader and restarts it.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>tablet</code> - a RemoteTablet which will get its leader killed and restarted</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="restartLeaderMaster--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>restartLeaderMaster</h4>
<pre>public&nbsp;void&nbsp;restartLeaderMaster()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block">Kills and restarts the leader master.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
<a name="getMasterAddressesAsString--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMasterAddressesAsString</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getMasterAddressesAsString()</pre>
<div class="block">Return the comma-separated list of "host:port" pairs that describes the master
config for this cluster.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The master config string.</dd>
</dl>
</li>
</ul>
<a name="getMasterServers--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMasterServers</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.kudu.client.HostAndPort&gt;&nbsp;getMasterServers()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the list of master servers</dd>
</dl>
</li>
</ul>
<a name="getTabletServers--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTabletServers</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.kudu.client.HostAndPort&gt;&nbsp;getTabletServers()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the list of tablet servers</dd>
</dl>
</li>
</ul>
<a name="getClusterRoot--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getClusterRoot</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getClusterRoot()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>path to the mini cluster root directory</dd>
</dl>
</li>
</ul>
<a name="killAllMasterServers--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>killAllMasterServers</h4>
<pre>public&nbsp;void&nbsp;killAllMasterServers()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Kills all the master servers.
Does nothing to the servers that are already dead.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="startAllMasterServers--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>startAllMasterServers</h4>
<pre>public&nbsp;void&nbsp;startAllMasterServers()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Starts all the master servers.
Does nothing to the servers that are already running.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="killAllTabletServers--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>killAllTabletServers</h4>
<pre>public&nbsp;void&nbsp;killAllTabletServers()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Kills all the tablet servers.
Does nothing to the servers that are already dead.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="startAllTabletServers--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>startAllTabletServers</h4>
<pre>public&nbsp;void&nbsp;startAllTabletServers()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Starts all the tablet servers.
Does nothing to the servers that are already running.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="kdestroy--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>kdestroy</h4>
<pre>public&nbsp;void&nbsp;kdestroy()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Removes all credentials for all principals from the Kerberos credential cache.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="kinit-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>kinit</h4>
<pre>public&nbsp;void&nbsp;kinit(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;username)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Re-initialize Kerberos credentials for the given username, writing them
into the Kerberos credential cache.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>username</code> - the username to kinit as</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="resetClients--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>resetClients</h4>
<pre>public&nbsp;void&nbsp;resetClients()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Resets the clients so that their state is completely fresh, including meta
cache, connections, open tables, sessions and scanners, and propagated timestamp.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></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&nbsp;Class</li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/kudu/test/KuduTestHarness.html" target="_top">Frames</a></li>
<li><a href="KuduTestHarness.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>