You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by gi...@apache.org on 2019/01/02 14:53:03 UTC

[03/51] [partial] hbase-site git commit: Published site at e4b6b4afb933a961f543537875f87a2dc62d3757.

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/849d84a8/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
index f71c161..a8cb53c 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
@@ -147,9 +147,9 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/TestWALSplit.Corruptions.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">TestWALSplit.Corruptions</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/IOTestProvider.AllowedOperations.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">IOTestProvider.AllowedOperations</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/FaultyFSLog.FailureType.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">FaultyFSLog.FailureType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/TestWALSplit.Corruptions.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">TestWALSplit.Corruptions</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/849d84a8/testdevapidocs/overview-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/overview-tree.html b/testdevapidocs/overview-tree.html
index fb914b9..bf2fa0d 100644
--- a/testdevapidocs/overview-tree.html
+++ b/testdevapidocs/overview-tree.html
@@ -1176,6 +1176,15 @@
 <li type="circle">org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/HBaseHomePath.html" title="class in org.apache.hadoop.hbase.util"><span class="typeNameLink">HBaseHomePath</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/HBaseKerberosUtils.html" title="class in org.apache.hadoop.hbase.security"><span class="typeNameLink">HBaseKerberosUtils</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.rest.<a href="org/apache/hadoop/hbase/rest/HBaseRESTTestingUtility.html" title="class in org.apache.hadoop.hbase.rest"><span class="typeNameLink">HBaseRESTTestingUtility</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.thrift.HBaseServiceHandler
+<ul>
+<li type="circle">org.apache.hadoop.hbase.thrift.ThriftHBaseServiceHandler (implements org.apache.hadoop.hbase.thrift.generated.Hbase.Iface)
+<ul>
+<li type="circle">org.apache.hadoop.hbase.thrift.<a href="org/apache/hadoop/hbase/thrift/TestThriftServer.MySlowHBaseHandler.html" title="class in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">TestThriftServer.MySlowHBaseHandler</span></a> (implements org.apache.hadoop.hbase.thrift.generated.Hbase.Iface)</li>
+</ul>
+</li>
+</ul>
+</li>
 <li type="circle">org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/HBaseTestingUtility.PortAllocator.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">HBaseTestingUtility.PortAllocator</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/HBaseTestingUtility.SeenRowTracker.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">HBaseTestingUtility.SeenRowTracker</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.util.hbck.<a href="org/apache/hadoop/hbase/util/hbck/HbckTestingUtil.html" title="class in org.apache.hadoop.hbase.util.hbck"><span class="typeNameLink">HbckTestingUtil</span></a></li>
@@ -3426,6 +3435,7 @@
 <li type="circle">org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/TestRegexComparator.TestCase.html" title="class in org.apache.hadoop.hbase.filter"><span class="typeNameLink">TestRegexComparator.TestCase</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.assignment.<a href="org/apache/hadoop/hbase/master/assignment/TestRegionAssignedToMultipleRegionServers.html" title="class in org.apache.hadoop.hbase.master.assignment"><span class="typeNameLink">TestRegionAssignedToMultipleRegionServers</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.assignment.<a href="org/apache/hadoop/hbase/master/assignment/TestRegionBypass.html" title="class in org.apache.hadoop.hbase.master.assignment"><span class="typeNameLink">TestRegionBypass</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/TestRegionCoprocessorHost.html" title="class in org.apache.hadoop.hbase.coprocessor"><span class="typeNameLink">TestRegionCoprocessorHost</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestRegionFavoredNodes.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestRegionFavoredNodes</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestRegionIncrement.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestRegionIncrement</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestRegionInfoBuilder.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestRegionInfoBuilder</span></a></li>
@@ -3936,11 +3946,16 @@
 <li type="circle">org.apache.hadoop.hbase.thrift2.<a href="org/apache/hadoop/hbase/thrift2/TestThriftHBaseServiceHandlerWithReadOnly.html" title="class in org.apache.hadoop.hbase.thrift2"><span class="typeNameLink">TestThriftHBaseServiceHandlerWithReadOnly</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.thrift.<a href="org/apache/hadoop/hbase/thrift/TestThriftHttpServer.html" title="class in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">TestThriftHttpServer</span></a>
 <ul>
+<li type="circle">org.apache.hadoop.hbase.thrift2.<a href="org/apache/hadoop/hbase/thrift2/TestThrift2HttpServer.html" title="class in org.apache.hadoop.hbase.thrift2"><span class="typeNameLink">TestThrift2HttpServer</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.thrift.<a href="org/apache/hadoop/hbase/thrift/TestThriftSpnegoHttpServer.html" title="class in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">TestThriftSpnegoHttpServer</span></a></li>
 </ul>
 </li>
 <li type="circle">org.apache.hadoop.hbase.thrift.<a href="org/apache/hadoop/hbase/thrift/TestThriftServer.html" title="class in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">TestThriftServer</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.thrift.<a href="org/apache/hadoop/hbase/thrift/TestThriftServerCmdLine.html" title="class in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">TestThriftServerCmdLine</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.thrift.<a href="org/apache/hadoop/hbase/thrift/TestThriftServerCmdLine.html" title="class in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">TestThriftServerCmdLine</span></a>
+<ul>
+<li type="circle">org.apache.hadoop.hbase.thrift2.<a href="org/apache/hadoop/hbase/thrift2/TestThrift2ServerCmdLine.html" title="class in org.apache.hadoop.hbase.thrift2"><span class="typeNameLink">TestThrift2ServerCmdLine</span></a></li>
+</ul>
+</li>
 <li type="circle">org.apache.hadoop.hbase.io.hadoopbackport.<a href="org/apache/hadoop/hbase/io/hadoopbackport/TestThrottledInputStream.html" title="class in org.apache.hadoop.hbase.io.hadoopbackport"><span class="typeNameLink">TestThrottledInputStream</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/TestThrottleSettings.html" title="class in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">TestThrottleSettings</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/TestTimeout.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">TestTimeout</span></a></li>
@@ -4134,11 +4149,6 @@
 <li type="circle">org.apache.hadoop.hbase.zookeeper.<a href="org/apache/hadoop/hbase/zookeeper/TestZKNodeTracker.WaitToGetDataThread.html" title="class in org.apache.hadoop.hbase.zookeeper"><span class="typeNameLink">TestZKNodeTracker.WaitToGetDataThread</span></a></li>
 </ul>
 </li>
-<li type="circle">org.apache.hadoop.hbase.thrift.ThriftServerRunner.HBaseHandler (implements org.apache.hadoop.hbase.thrift.generated.Hbase.Iface)
-<ul>
-<li type="circle">org.apache.hadoop.hbase.thrift.<a href="org/apache/hadoop/hbase/thrift/TestThriftServer.MySlowHBaseHandler.html" title="class in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">TestThriftServer.MySlowHBaseHandler</span></a> (implements org.apache.hadoop.hbase.thrift.generated.Hbase.Iface)</li>
-</ul>
-</li>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Throwable</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Exception</span></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/849d84a8/testdevapidocs/serialized-form.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/serialized-form.html b/testdevapidocs/serialized-form.html
index da45683..ff3fb46 100644
--- a/testdevapidocs/serialized-form.html
+++ b/testdevapidocs/serialized-form.html
@@ -2307,41 +2307,41 @@
 <dd>0L</dd>
 </dl>
 </li>
-<li class="blockList"><a name="org.apache.hadoop.hbase.thrift.ThriftHttpServlet">
+<li class="blockList"><a name="org.apache.hadoop.hbase.thrift.ThriftHBaseServiceHandler.IOErrorWithCause">
 <!--   -->
 </a>
-<h3>Class org.apache.hadoop.hbase.thrift.ThriftHttpServlet extends org.apache.thrift.server.TServlet implements Serializable</h3>
-<dl class="nameValue">
-<dt>serialVersionUID:</dt>
-<dd>1L</dd>
-</dl>
+<h3>Class org.apache.hadoop.hbase.thrift.ThriftHBaseServiceHandler.IOErrorWithCause extends org.apache.hadoop.hbase.thrift.generated.IOError implements Serializable</h3>
 <ul class="blockList">
 <li class="blockList">
 <h3>Serialized Fields</h3>
 <ul class="blockList">
-<li class="blockList">
-<h4>doAsEnabled</h4>
-<pre>boolean doAsEnabled</pre>
-</li>
 <li class="blockListLast">
-<h4>securityEnabled</h4>
-<pre>boolean securityEnabled</pre>
+<h4>cause</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a> cause</pre>
 </li>
 </ul>
 </li>
 </ul>
 </li>
-<li class="blockList"><a name="org.apache.hadoop.hbase.thrift.ThriftServerRunner.IOErrorWithCause">
+<li class="blockList"><a name="org.apache.hadoop.hbase.thrift.ThriftHttpServlet">
 <!--   -->
 </a>
-<h3>Class org.apache.hadoop.hbase.thrift.ThriftServerRunner.IOErrorWithCause extends org.apache.hadoop.hbase.thrift.generated.IOError implements Serializable</h3>
+<h3>Class org.apache.hadoop.hbase.thrift.ThriftHttpServlet extends org.apache.thrift.server.TServlet implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>1L</dd>
+</dl>
 <ul class="blockList">
 <li class="blockList">
 <h3>Serialized Fields</h3>
 <ul class="blockList">
+<li class="blockList">
+<h4>doAsEnabled</h4>
+<pre>boolean doAsEnabled</pre>
+</li>
 <li class="blockListLast">
-<h4>cause</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a> cause</pre>
+<h4>securityEnabled</h4>
+<pre>boolean securityEnabled</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/849d84a8/testdevapidocs/src-html/org/apache/hadoop/hbase/coprocessor/TestRegionCoprocessorHost.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/coprocessor/TestRegionCoprocessorHost.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/coprocessor/TestRegionCoprocessorHost.html
new file mode 100644
index 0000000..a2067aa
--- /dev/null
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/coprocessor/TestRegionCoprocessorHost.html
@@ -0,0 +1,149 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>/**<a name="line.1"></a>
+<span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
+<span class="sourceLineNo">003</span> * or more contributor license agreements.  See the NOTICE file<a name="line.3"></a>
+<span class="sourceLineNo">004</span> * distributed with this work for additional information<a name="line.4"></a>
+<span class="sourceLineNo">005</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.5"></a>
+<span class="sourceLineNo">006</span> * to you under the Apache License, Version 2.0 (the<a name="line.6"></a>
+<span class="sourceLineNo">007</span> * "License"); you may not use this file except in compliance<a name="line.7"></a>
+<span class="sourceLineNo">008</span> * with the License.  You may obtain a copy of the License at<a name="line.8"></a>
+<span class="sourceLineNo">009</span> *<a name="line.9"></a>
+<span class="sourceLineNo">010</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
+<span class="sourceLineNo">011</span> *<a name="line.11"></a>
+<span class="sourceLineNo">012</span> * Unless required by applicable law or agreed to in writing, software<a name="line.12"></a>
+<span class="sourceLineNo">013</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.14"></a>
+<span class="sourceLineNo">015</span> * See the License for the specific language governing permissions and<a name="line.15"></a>
+<span class="sourceLineNo">016</span> * limitations under the License.<a name="line.16"></a>
+<span class="sourceLineNo">017</span> */<a name="line.17"></a>
+<span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.coprocessor;<a name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span>import static org.apache.hadoop.hbase.coprocessor.CoprocessorHost.COPROCESSORS_ENABLED_CONF_KEY;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import static org.apache.hadoop.hbase.coprocessor.CoprocessorHost.REGION_COPROCESSOR_CONF_KEY;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import static org.apache.hadoop.hbase.coprocessor.CoprocessorHost.SKIP_LOAD_DUPLICATE_TABLE_COPROCESSOR;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import static org.apache.hadoop.hbase.coprocessor.CoprocessorHost.USER_COPROCESSORS_ENABLED_CONF_KEY;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import static org.junit.Assert.assertEquals;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import static org.mockito.Mockito.mock;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import static org.mockito.Mockito.when;<a name="line.26"></a>
+<span class="sourceLineNo">027</span><a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.conf.Configuration;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.HBaseClassTestRule;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.TableName;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.client.RegionInfo;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.client.RegionInfoBuilder;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.client.TableDescriptor;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.client.TableDescriptorBuilder;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.regionserver.HRegion;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.regionserver.RegionServerServices;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.testclassification.SmallTests;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.junit.ClassRule;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.junit.Test;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.junit.experimental.categories.Category;<a name="line.42"></a>
+<span class="sourceLineNo">043</span><a name="line.43"></a>
+<span class="sourceLineNo">044</span>@Category({SmallTests.class})<a name="line.44"></a>
+<span class="sourceLineNo">045</span>public class TestRegionCoprocessorHost {<a name="line.45"></a>
+<span class="sourceLineNo">046</span><a name="line.46"></a>
+<span class="sourceLineNo">047</span>  @ClassRule<a name="line.47"></a>
+<span class="sourceLineNo">048</span>  public static final HBaseClassTestRule CLASS_RULE =<a name="line.48"></a>
+<span class="sourceLineNo">049</span>      HBaseClassTestRule.forClass(TestRegionCoprocessorHost.class);<a name="line.49"></a>
+<span class="sourceLineNo">050</span><a name="line.50"></a>
+<span class="sourceLineNo">051</span>  @Test<a name="line.51"></a>
+<span class="sourceLineNo">052</span>  public void testLoadDuplicateCoprocessor() throws Exception {<a name="line.52"></a>
+<span class="sourceLineNo">053</span>    Configuration conf = HBaseConfiguration.create();<a name="line.53"></a>
+<span class="sourceLineNo">054</span>    conf.setBoolean(COPROCESSORS_ENABLED_CONF_KEY, true);<a name="line.54"></a>
+<span class="sourceLineNo">055</span>    conf.setBoolean(USER_COPROCESSORS_ENABLED_CONF_KEY, true);<a name="line.55"></a>
+<span class="sourceLineNo">056</span>    conf.setBoolean(SKIP_LOAD_DUPLICATE_TABLE_COPROCESSOR, true);<a name="line.56"></a>
+<span class="sourceLineNo">057</span>    conf.set(REGION_COPROCESSOR_CONF_KEY, SimpleRegionObserver.class.getName());<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    TableName tableName = TableName.valueOf("testDoubleLoadingCoprocessor");<a name="line.58"></a>
+<span class="sourceLineNo">059</span>    RegionInfo regionInfo = RegionInfoBuilder.newBuilder(tableName).build();<a name="line.59"></a>
+<span class="sourceLineNo">060</span>    // config a same coprocessor with system coprocessor<a name="line.60"></a>
+<span class="sourceLineNo">061</span>    TableDescriptor tableDesc = TableDescriptorBuilder.newBuilder(tableName)<a name="line.61"></a>
+<span class="sourceLineNo">062</span>        .setCoprocessor(SimpleRegionObserver.class.getName()).build();<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    HRegion region = mock(HRegion.class);<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    when(region.getRegionInfo()).thenReturn(regionInfo);<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    when(region.getTableDescriptor()).thenReturn(tableDesc);<a name="line.65"></a>
+<span class="sourceLineNo">066</span>    RegionServerServices rsServices = mock(RegionServerServices.class);<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    RegionCoprocessorHost host = new RegionCoprocessorHost(region, rsServices, conf);<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    // Only one coprocessor SimpleRegionObserver loaded<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    assertEquals(1, host.coprocEnvironments.size());<a name="line.69"></a>
+<span class="sourceLineNo">070</span><a name="line.70"></a>
+<span class="sourceLineNo">071</span>    // Allow to load duplicate coprocessor<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    conf.setBoolean(SKIP_LOAD_DUPLICATE_TABLE_COPROCESSOR, false);<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    host = new RegionCoprocessorHost(region, rsServices, conf);<a name="line.73"></a>
+<span class="sourceLineNo">074</span>    // Two duplicate coprocessors loaded<a name="line.74"></a>
+<span class="sourceLineNo">075</span>    assertEquals(2, host.coprocEnvironments.size());<a name="line.75"></a>
+<span class="sourceLineNo">076</span>  }<a name="line.76"></a>
+<span class="sourceLineNo">077</span>}<a name="line.77"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/849d84a8/testdevapidocs/src-html/org/apache/hadoop/hbase/thrift/TestThriftHttpServer.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/thrift/TestThriftHttpServer.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/thrift/TestThriftHttpServer.html
index d6439f8..2b32de3 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/thrift/TestThriftHttpServer.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/thrift/TestThriftHttpServer.html
@@ -25,98 +25,98 @@
 <span class="sourceLineNo">017</span> */<a name="line.17"></a>
 <span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.thrift;<a name="line.18"></a>
 <span class="sourceLineNo">019</span><a name="line.19"></a>
-<span class="sourceLineNo">020</span>import static org.junit.Assert.assertFalse;<a name="line.20"></a>
-<span class="sourceLineNo">021</span>import static org.junit.Assert.assertNull;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import static org.junit.Assert.fail;<a name="line.22"></a>
-<span class="sourceLineNo">023</span><a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.net.HttpURLConnection;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.net.URL;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.util.ArrayList;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.util.List;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.conf.Configuration;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.HBaseClassTestRule;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.HBaseTestingUtility;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.HConstants;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.testclassification.ClientTests;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.testclassification.LargeTests;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.thrift.generated.Hbase;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManagerTestHelper;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.util.IncrementingEnvironmentEdge;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.thrift.protocol.TBinaryProtocol;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.thrift.protocol.TProtocol;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.thrift.transport.THttpClient;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.thrift.transport.TTransportException;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.junit.AfterClass;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.junit.Assert;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.junit.BeforeClass;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.junit.ClassRule;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.junit.Rule;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.junit.Test;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.junit.experimental.categories.Category;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.junit.rules.ExpectedException;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.slf4j.Logger;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.slf4j.LoggerFactory;<a name="line.51"></a>
-<span class="sourceLineNo">052</span><a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hbase.thirdparty.com.google.common.base.Joiner;<a name="line.53"></a>
-<span class="sourceLineNo">054</span><a name="line.54"></a>
-<span class="sourceLineNo">055</span>/**<a name="line.55"></a>
-<span class="sourceLineNo">056</span> * Start the HBase Thrift HTTP server on a random port through the command-line<a name="line.56"></a>
-<span class="sourceLineNo">057</span> * interface and talk to it from client side.<a name="line.57"></a>
-<span class="sourceLineNo">058</span> */<a name="line.58"></a>
-<span class="sourceLineNo">059</span>@Category({ClientTests.class, LargeTests.class})<a name="line.59"></a>
-<span class="sourceLineNo">060</span>public class TestThriftHttpServer {<a name="line.60"></a>
-<span class="sourceLineNo">061</span>  @ClassRule<a name="line.61"></a>
-<span class="sourceLineNo">062</span>  public static final HBaseClassTestRule CLASS_RULE =<a name="line.62"></a>
-<span class="sourceLineNo">063</span>      HBaseClassTestRule.forClass(TestThriftHttpServer.class);<a name="line.63"></a>
-<span class="sourceLineNo">064</span><a name="line.64"></a>
-<span class="sourceLineNo">065</span>  private static final Logger LOG =<a name="line.65"></a>
-<span class="sourceLineNo">066</span>      LoggerFactory.getLogger(TestThriftHttpServer.class);<a name="line.66"></a>
-<span class="sourceLineNo">067</span><a name="line.67"></a>
-<span class="sourceLineNo">068</span>  static final HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();<a name="line.68"></a>
-<span class="sourceLineNo">069</span><a name="line.69"></a>
-<span class="sourceLineNo">070</span>  private Thread httpServerThread;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>  private volatile Exception httpServerException;<a name="line.71"></a>
-<span class="sourceLineNo">072</span><a name="line.72"></a>
-<span class="sourceLineNo">073</span>  private Exception clientSideException;<a name="line.73"></a>
-<span class="sourceLineNo">074</span><a name="line.74"></a>
-<span class="sourceLineNo">075</span>  private ThriftServer thriftServer;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  int port;<a name="line.76"></a>
-<span class="sourceLineNo">077</span><a name="line.77"></a>
-<span class="sourceLineNo">078</span>  @BeforeClass<a name="line.78"></a>
-<span class="sourceLineNo">079</span>  public static void setUpBeforeClass() throws Exception {<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    TEST_UTIL.getConfiguration().setBoolean("hbase.regionserver.thrift.http", true);<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    TEST_UTIL.getConfiguration().setBoolean("hbase.table.sanity.checks", false);<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    TEST_UTIL.startMiniCluster();<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    //ensure that server time increments every time we do an operation, otherwise<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    //successive puts having the same timestamp will override each other<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    EnvironmentEdgeManagerTestHelper.injectEdge(new IncrementingEnvironmentEdge());<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  }<a name="line.86"></a>
-<span class="sourceLineNo">087</span><a name="line.87"></a>
-<span class="sourceLineNo">088</span>  @AfterClass<a name="line.88"></a>
-<span class="sourceLineNo">089</span>  public static void tearDownAfterClass() throws Exception {<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    TEST_UTIL.shutdownMiniCluster();<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    EnvironmentEdgeManager.reset();<a name="line.91"></a>
-<span class="sourceLineNo">092</span>  }<a name="line.92"></a>
-<span class="sourceLineNo">093</span><a name="line.93"></a>
-<span class="sourceLineNo">094</span>  @Test<a name="line.94"></a>
-<span class="sourceLineNo">095</span>  public void testExceptionThrownWhenMisConfigured() throws Exception {<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    Configuration conf = new Configuration(TEST_UTIL.getConfiguration());<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    conf.set("hbase.thrift.security.qop", "privacy");<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    conf.setBoolean("hbase.thrift.ssl.enabled", false);<a name="line.98"></a>
-<span class="sourceLineNo">099</span><a name="line.99"></a>
-<span class="sourceLineNo">100</span>    ThriftServerRunner runner = null;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    ExpectedException thrown = ExpectedException.none();<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    try {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      thrown.expect(IllegalArgumentException.class);<a name="line.103"></a>
-<span class="sourceLineNo">104</span>      thrown.expectMessage("Thrift HTTP Server's QoP is privacy, " +<a name="line.104"></a>
-<span class="sourceLineNo">105</span>          "but hbase.thrift.ssl.enabled is false");<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      runner = new ThriftServerRunner(conf);<a name="line.106"></a>
-<span class="sourceLineNo">107</span>      fail("Thrift HTTP Server starts up even with wrong security configurations.");<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    } catch (Exception e) {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    }<a name="line.109"></a>
-<span class="sourceLineNo">110</span><a name="line.110"></a>
-<span class="sourceLineNo">111</span>    assertNull(runner);<a name="line.111"></a>
+<span class="sourceLineNo">020</span>import static org.apache.hadoop.hbase.thrift.Constants.INFOPORT_OPTION;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import static org.apache.hadoop.hbase.thrift.Constants.PORT_OPTION;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import static org.junit.Assert.assertFalse;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import static org.junit.Assert.fail;<a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.net.HttpURLConnection;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.net.URL;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.ArrayList;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.util.List;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.conf.Configuration;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.HBaseClassTestRule;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.HBaseTestingUtility;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.HConstants;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.testclassification.ClientTests;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.testclassification.LargeTests;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.thrift.generated.Hbase;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManagerTestHelper;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.util.IncrementingEnvironmentEdge;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.thrift.protocol.TBinaryProtocol;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.thrift.protocol.TProtocol;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.thrift.transport.THttpClient;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.thrift.transport.TTransportException;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.junit.AfterClass;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.junit.Assert;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.junit.BeforeClass;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.junit.ClassRule;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.junit.Rule;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.junit.Test;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.junit.experimental.categories.Category;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.junit.rules.ExpectedException;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.slf4j.Logger;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.slf4j.LoggerFactory;<a name="line.52"></a>
+<span class="sourceLineNo">053</span><a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hbase.thirdparty.com.google.common.base.Joiner;<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span>/**<a name="line.56"></a>
+<span class="sourceLineNo">057</span> * Start the HBase Thrift HTTP server on a random port through the command-line<a name="line.57"></a>
+<span class="sourceLineNo">058</span> * interface and talk to it from client side.<a name="line.58"></a>
+<span class="sourceLineNo">059</span> */<a name="line.59"></a>
+<span class="sourceLineNo">060</span>@Category({ClientTests.class, LargeTests.class})<a name="line.60"></a>
+<span class="sourceLineNo">061</span>public class TestThriftHttpServer {<a name="line.61"></a>
+<span class="sourceLineNo">062</span>  @ClassRule<a name="line.62"></a>
+<span class="sourceLineNo">063</span>  public static final HBaseClassTestRule CLASS_RULE =<a name="line.63"></a>
+<span class="sourceLineNo">064</span>      HBaseClassTestRule.forClass(TestThriftHttpServer.class);<a name="line.64"></a>
+<span class="sourceLineNo">065</span><a name="line.65"></a>
+<span class="sourceLineNo">066</span>  private static final Logger LOG =<a name="line.66"></a>
+<span class="sourceLineNo">067</span>      LoggerFactory.getLogger(TestThriftHttpServer.class);<a name="line.67"></a>
+<span class="sourceLineNo">068</span><a name="line.68"></a>
+<span class="sourceLineNo">069</span>  protected static final HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();<a name="line.69"></a>
+<span class="sourceLineNo">070</span><a name="line.70"></a>
+<span class="sourceLineNo">071</span>  private Thread httpServerThread;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>  private volatile Exception httpServerException;<a name="line.72"></a>
+<span class="sourceLineNo">073</span><a name="line.73"></a>
+<span class="sourceLineNo">074</span>  private Exception clientSideException;<a name="line.74"></a>
+<span class="sourceLineNo">075</span><a name="line.75"></a>
+<span class="sourceLineNo">076</span>  private ThriftServer thriftServer;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>  int port;<a name="line.77"></a>
+<span class="sourceLineNo">078</span><a name="line.78"></a>
+<span class="sourceLineNo">079</span>  @BeforeClass<a name="line.79"></a>
+<span class="sourceLineNo">080</span>  public static void setUpBeforeClass() throws Exception {<a name="line.80"></a>
+<span class="sourceLineNo">081</span>    TEST_UTIL.getConfiguration().setBoolean("hbase.regionserver.thrift.http", true);<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    TEST_UTIL.getConfiguration().setBoolean("hbase.table.sanity.checks", false);<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    TEST_UTIL.startMiniCluster();<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    //ensure that server time increments every time we do an operation, otherwise<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    //successive puts having the same timestamp will override each other<a name="line.85"></a>
+<span class="sourceLineNo">086</span>    EnvironmentEdgeManagerTestHelper.injectEdge(new IncrementingEnvironmentEdge());<a name="line.86"></a>
+<span class="sourceLineNo">087</span>  }<a name="line.87"></a>
+<span class="sourceLineNo">088</span><a name="line.88"></a>
+<span class="sourceLineNo">089</span>  @AfterClass<a name="line.89"></a>
+<span class="sourceLineNo">090</span>  public static void tearDownAfterClass() throws Exception {<a name="line.90"></a>
+<span class="sourceLineNo">091</span>    TEST_UTIL.shutdownMiniCluster();<a name="line.91"></a>
+<span class="sourceLineNo">092</span>    EnvironmentEdgeManager.reset();<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  }<a name="line.93"></a>
+<span class="sourceLineNo">094</span><a name="line.94"></a>
+<span class="sourceLineNo">095</span>  @Test<a name="line.95"></a>
+<span class="sourceLineNo">096</span>  public void testExceptionThrownWhenMisConfigured() throws Exception {<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    Configuration conf = new Configuration(TEST_UTIL.getConfiguration());<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    conf.set("hbase.thrift.security.qop", "privacy");<a name="line.98"></a>
+<span class="sourceLineNo">099</span>    conf.setBoolean("hbase.thrift.ssl.enabled", false);<a name="line.99"></a>
+<span class="sourceLineNo">100</span><a name="line.100"></a>
+<span class="sourceLineNo">101</span>    ThriftServer server = null;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    ExpectedException thrown = ExpectedException.none();<a name="line.102"></a>
+<span class="sourceLineNo">103</span>    try {<a name="line.103"></a>
+<span class="sourceLineNo">104</span>      thrown.expect(IllegalArgumentException.class);<a name="line.104"></a>
+<span class="sourceLineNo">105</span>      thrown.expectMessage("Thrift HTTP Server's QoP is privacy, " +<a name="line.105"></a>
+<span class="sourceLineNo">106</span>          "but hbase.thrift.ssl.enabled is false");<a name="line.106"></a>
+<span class="sourceLineNo">107</span>      server = new ThriftServer(conf);<a name="line.107"></a>
+<span class="sourceLineNo">108</span>      server.run();<a name="line.108"></a>
+<span class="sourceLineNo">109</span>      fail("Thrift HTTP Server starts up even with wrong security configurations.");<a name="line.109"></a>
+<span class="sourceLineNo">110</span>    } catch (Exception e) {<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    }<a name="line.111"></a>
 <span class="sourceLineNo">112</span>  }<a name="line.112"></a>
 <span class="sourceLineNo">113</span><a name="line.113"></a>
 <span class="sourceLineNo">114</span>  private void startHttpServerThread(final String[] args) {<a name="line.114"></a>
@@ -125,7 +125,7 @@
 <span class="sourceLineNo">117</span>    httpServerException = null;<a name="line.117"></a>
 <span class="sourceLineNo">118</span>    httpServerThread = new Thread(() -&gt; {<a name="line.118"></a>
 <span class="sourceLineNo">119</span>      try {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>        thriftServer.doMain(args);<a name="line.120"></a>
+<span class="sourceLineNo">120</span>        thriftServer.run(args);<a name="line.120"></a>
 <span class="sourceLineNo">121</span>      } catch (Exception e) {<a name="line.121"></a>
 <span class="sourceLineNo">122</span>        httpServerException = e;<a name="line.122"></a>
 <span class="sourceLineNo">123</span>      }<a name="line.123"></a>
@@ -153,95 +153,99 @@
 <span class="sourceLineNo">145</span>    runThriftServer(1024 * 64);<a name="line.145"></a>
 <span class="sourceLineNo">146</span>  }<a name="line.146"></a>
 <span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>  @Test<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  public void testRunThriftServer() throws Exception {<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    runThriftServer(0);<a name="line.150"></a>
-<span class="sourceLineNo">151</span>  }<a name="line.151"></a>
-<span class="sourceLineNo">152</span><a name="line.152"></a>
-<span class="sourceLineNo">153</span>  void runThriftServer(int customHeaderSize) throws Exception {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    List&lt;String&gt; args = new ArrayList&lt;&gt;(3);<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    port = HBaseTestingUtility.randomFreePort();<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    args.add("-" + ThriftServer.PORT_OPTION);<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    args.add(String.valueOf(port));<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    args.add("-" + ThriftServer.INFOPORT_OPTION);<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    int infoPort = HBaseTestingUtility.randomFreePort();<a name="line.159"></a>
-<span class="sourceLineNo">160</span>    args.add(String.valueOf(infoPort));<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    args.add("start");<a name="line.161"></a>
-<span class="sourceLineNo">162</span><a name="line.162"></a>
-<span class="sourceLineNo">163</span>    thriftServer = new ThriftServer(TEST_UTIL.getConfiguration());<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    startHttpServerThread(args.toArray(new String[args.size()]));<a name="line.164"></a>
-<span class="sourceLineNo">165</span><a name="line.165"></a>
-<span class="sourceLineNo">166</span>    // wait up to 10s for the server to start<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    HBaseTestingUtility.waitForHostPort(HConstants.LOCALHOST, port);<a name="line.167"></a>
-<span class="sourceLineNo">168</span><a name="line.168"></a>
-<span class="sourceLineNo">169</span>    String url = "http://" + HConstants.LOCALHOST + ":" + port;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    try {<a name="line.170"></a>
-<span class="sourceLineNo">171</span>      checkHttpMethods(url);<a name="line.171"></a>
-<span class="sourceLineNo">172</span>      talkToThriftServer(url, customHeaderSize);<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    } catch (Exception ex) {<a name="line.173"></a>
-<span class="sourceLineNo">174</span>      clientSideException = ex;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    } finally {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>      stopHttpServerThread();<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    }<a name="line.177"></a>
-<span class="sourceLineNo">178</span><a name="line.178"></a>
-<span class="sourceLineNo">179</span>    if (clientSideException != null) {<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      LOG.error("Thrift client threw an exception " + clientSideException);<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      if (clientSideException instanceof TTransportException) {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>        throw clientSideException;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      } else {<a name="line.183"></a>
-<span class="sourceLineNo">184</span>        throw new Exception(clientSideException);<a name="line.184"></a>
-<span class="sourceLineNo">185</span>      }<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    }<a name="line.186"></a>
-<span class="sourceLineNo">187</span>  }<a name="line.187"></a>
-<span class="sourceLineNo">188</span><a name="line.188"></a>
-<span class="sourceLineNo">189</span>  private void checkHttpMethods(String url) throws Exception {<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    // HTTP TRACE method should be disabled for security<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    // See https://www.owasp.org/index.php/Cross_Site_Tracing<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection();<a name="line.192"></a>
-<span class="sourceLineNo">193</span>    conn.setRequestMethod("TRACE");<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    conn.connect();<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    Assert.assertEquals(HttpURLConnection.HTTP_FORBIDDEN, conn.getResponseCode());<a name="line.195"></a>
-<span class="sourceLineNo">196</span>  }<a name="line.196"></a>
-<span class="sourceLineNo">197</span><a name="line.197"></a>
-<span class="sourceLineNo">198</span>  static volatile boolean tableCreated = false;<a name="line.198"></a>
-<span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>  void talkToThriftServer(String url, int customHeaderSize) throws Exception {<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    THttpClient httpClient = new THttpClient(url);<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    httpClient.open();<a name="line.202"></a>
+<span class="sourceLineNo">148</span>  protected ThriftServer createThriftServer() {<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    return new ThriftServer(TEST_UTIL.getConfiguration());<a name="line.149"></a>
+<span class="sourceLineNo">150</span>  }<a name="line.150"></a>
+<span class="sourceLineNo">151</span><a name="line.151"></a>
+<span class="sourceLineNo">152</span>  @Test<a name="line.152"></a>
+<span class="sourceLineNo">153</span>  public void testRunThriftServer() throws Exception {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    runThriftServer(0);<a name="line.154"></a>
+<span class="sourceLineNo">155</span>  }<a name="line.155"></a>
+<span class="sourceLineNo">156</span><a name="line.156"></a>
+<span class="sourceLineNo">157</span>  void runThriftServer(int customHeaderSize) throws Exception {<a name="line.157"></a>
+<span class="sourceLineNo">158</span>    List&lt;String&gt; args = new ArrayList&lt;&gt;(3);<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    port = HBaseTestingUtility.randomFreePort();<a name="line.159"></a>
+<span class="sourceLineNo">160</span>    args.add("-" + PORT_OPTION);<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    args.add(String.valueOf(port));<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    args.add("-" + INFOPORT_OPTION);<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    int infoPort = HBaseTestingUtility.randomFreePort();<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    args.add(String.valueOf(infoPort));<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    args.add("start");<a name="line.165"></a>
+<span class="sourceLineNo">166</span><a name="line.166"></a>
+<span class="sourceLineNo">167</span>    thriftServer = createThriftServer();<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    startHttpServerThread(args.toArray(new String[args.size()]));<a name="line.168"></a>
+<span class="sourceLineNo">169</span><a name="line.169"></a>
+<span class="sourceLineNo">170</span>    // wait up to 10s for the server to start<a name="line.170"></a>
+<span class="sourceLineNo">171</span>    HBaseTestingUtility.waitForHostPort(HConstants.LOCALHOST, port);<a name="line.171"></a>
+<span class="sourceLineNo">172</span><a name="line.172"></a>
+<span class="sourceLineNo">173</span>    String url = "http://" + HConstants.LOCALHOST + ":" + port;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    try {<a name="line.174"></a>
+<span class="sourceLineNo">175</span>      checkHttpMethods(url);<a name="line.175"></a>
+<span class="sourceLineNo">176</span>      talkToThriftServer(url, customHeaderSize);<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    } catch (Exception ex) {<a name="line.177"></a>
+<span class="sourceLineNo">178</span>      clientSideException = ex;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>    } finally {<a name="line.179"></a>
+<span class="sourceLineNo">180</span>      stopHttpServerThread();<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    }<a name="line.181"></a>
+<span class="sourceLineNo">182</span><a name="line.182"></a>
+<span class="sourceLineNo">183</span>    if (clientSideException != null) {<a name="line.183"></a>
+<span class="sourceLineNo">184</span>      LOG.error("Thrift client threw an exception " + clientSideException);<a name="line.184"></a>
+<span class="sourceLineNo">185</span>      if (clientSideException instanceof TTransportException) {<a name="line.185"></a>
+<span class="sourceLineNo">186</span>        throw clientSideException;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>      } else {<a name="line.187"></a>
+<span class="sourceLineNo">188</span>        throw new Exception(clientSideException);<a name="line.188"></a>
+<span class="sourceLineNo">189</span>      }<a name="line.189"></a>
+<span class="sourceLineNo">190</span>    }<a name="line.190"></a>
+<span class="sourceLineNo">191</span>  }<a name="line.191"></a>
+<span class="sourceLineNo">192</span><a name="line.192"></a>
+<span class="sourceLineNo">193</span>  private void checkHttpMethods(String url) throws Exception {<a name="line.193"></a>
+<span class="sourceLineNo">194</span>    // HTTP TRACE method should be disabled for security<a name="line.194"></a>
+<span class="sourceLineNo">195</span>    // See https://www.owasp.org/index.php/Cross_Site_Tracing<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection();<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    conn.setRequestMethod("TRACE");<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    conn.connect();<a name="line.198"></a>
+<span class="sourceLineNo">199</span>    Assert.assertEquals(HttpURLConnection.HTTP_FORBIDDEN, conn.getResponseCode());<a name="line.199"></a>
+<span class="sourceLineNo">200</span>  }<a name="line.200"></a>
+<span class="sourceLineNo">201</span><a name="line.201"></a>
+<span class="sourceLineNo">202</span>  protected static volatile boolean tableCreated = false;<a name="line.202"></a>
 <span class="sourceLineNo">203</span><a name="line.203"></a>
-<span class="sourceLineNo">204</span>    if (customHeaderSize &gt; 0) {<a name="line.204"></a>
-<span class="sourceLineNo">205</span>      StringBuilder sb = new StringBuilder();<a name="line.205"></a>
-<span class="sourceLineNo">206</span>      for (int i = 0; i &lt; customHeaderSize; i++) {<a name="line.206"></a>
-<span class="sourceLineNo">207</span>        sb.append("a");<a name="line.207"></a>
-<span class="sourceLineNo">208</span>      }<a name="line.208"></a>
-<span class="sourceLineNo">209</span>      httpClient.setCustomHeader("User-Agent", sb.toString());<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    }<a name="line.210"></a>
-<span class="sourceLineNo">211</span><a name="line.211"></a>
-<span class="sourceLineNo">212</span>    try {<a name="line.212"></a>
-<span class="sourceLineNo">213</span>      TProtocol prot;<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      prot = new TBinaryProtocol(httpClient);<a name="line.214"></a>
-<span class="sourceLineNo">215</span>      Hbase.Client client = new Hbase.Client(prot);<a name="line.215"></a>
-<span class="sourceLineNo">216</span>      if (!tableCreated){<a name="line.216"></a>
-<span class="sourceLineNo">217</span>        TestThriftServer.createTestTables(client);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>        tableCreated = true;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>      }<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      TestThriftServer.checkTableList(client);<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    } finally {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      httpClient.close();<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    }<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  private void stopHttpServerThread() throws Exception {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    LOG.debug("Stopping " + " Thrift HTTP server");<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    thriftServer.stop();<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    httpServerThread.join();<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    if (httpServerException != null) {<a name="line.230"></a>
-<span class="sourceLineNo">231</span>      LOG.error("Command-line invocation of HBase Thrift server threw an " +<a name="line.231"></a>
-<span class="sourceLineNo">232</span>          "exception", httpServerException);<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      throw new Exception(httpServerException);<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    }<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  }<a name="line.235"></a>
-<span class="sourceLineNo">236</span>}<a name="line.236"></a>
+<span class="sourceLineNo">204</span>  protected void talkToThriftServer(String url, int customHeaderSize) throws Exception {<a name="line.204"></a>
+<span class="sourceLineNo">205</span>    THttpClient httpClient = new THttpClient(url);<a name="line.205"></a>
+<span class="sourceLineNo">206</span>    httpClient.open();<a name="line.206"></a>
+<span class="sourceLineNo">207</span><a name="line.207"></a>
+<span class="sourceLineNo">208</span>    if (customHeaderSize &gt; 0) {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>      StringBuilder sb = new StringBuilder();<a name="line.209"></a>
+<span class="sourceLineNo">210</span>      for (int i = 0; i &lt; customHeaderSize; i++) {<a name="line.210"></a>
+<span class="sourceLineNo">211</span>        sb.append("a");<a name="line.211"></a>
+<span class="sourceLineNo">212</span>      }<a name="line.212"></a>
+<span class="sourceLineNo">213</span>      httpClient.setCustomHeader("User-Agent", sb.toString());<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    }<a name="line.214"></a>
+<span class="sourceLineNo">215</span><a name="line.215"></a>
+<span class="sourceLineNo">216</span>    try {<a name="line.216"></a>
+<span class="sourceLineNo">217</span>      TProtocol prot;<a name="line.217"></a>
+<span class="sourceLineNo">218</span>      prot = new TBinaryProtocol(httpClient);<a name="line.218"></a>
+<span class="sourceLineNo">219</span>      Hbase.Client client = new Hbase.Client(prot);<a name="line.219"></a>
+<span class="sourceLineNo">220</span>      if (!tableCreated){<a name="line.220"></a>
+<span class="sourceLineNo">221</span>        TestThriftServer.createTestTables(client);<a name="line.221"></a>
+<span class="sourceLineNo">222</span>        tableCreated = true;<a name="line.222"></a>
+<span class="sourceLineNo">223</span>      }<a name="line.223"></a>
+<span class="sourceLineNo">224</span>      TestThriftServer.checkTableList(client);<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    } finally {<a name="line.225"></a>
+<span class="sourceLineNo">226</span>      httpClient.close();<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    }<a name="line.227"></a>
+<span class="sourceLineNo">228</span>  }<a name="line.228"></a>
+<span class="sourceLineNo">229</span><a name="line.229"></a>
+<span class="sourceLineNo">230</span>  private void stopHttpServerThread() throws Exception {<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    LOG.debug("Stopping " + " Thrift HTTP server");<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    thriftServer.stop();<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    httpServerThread.join();<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    if (httpServerException != null) {<a name="line.234"></a>
+<span class="sourceLineNo">235</span>      LOG.error("Command-line invocation of HBase Thrift server threw an " +<a name="line.235"></a>
+<span class="sourceLineNo">236</span>          "exception", httpServerException);<a name="line.236"></a>
+<span class="sourceLineNo">237</span>      throw new Exception(httpServerException);<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    }<a name="line.238"></a>
+<span class="sourceLineNo">239</span>  }<a name="line.239"></a>
+<span class="sourceLineNo">240</span>}<a name="line.240"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/849d84a8/testdevapidocs/src-html/org/apache/hadoop/hbase/thrift/TestThriftServer.MySlowHBaseHandler.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/thrift/TestThriftServer.MySlowHBaseHandler.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/thrift/TestThriftServer.MySlowHBaseHandler.html
index 60f13e3..ec94f7a 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/thrift/TestThriftServer.MySlowHBaseHandler.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/thrift/TestThriftServer.MySlowHBaseHandler.html
@@ -25,36 +25,36 @@
 <span class="sourceLineNo">017</span> */<a name="line.17"></a>
 <span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.thrift;<a name="line.18"></a>
 <span class="sourceLineNo">019</span><a name="line.19"></a>
-<span class="sourceLineNo">020</span>import static org.junit.Assert.assertArrayEquals;<a name="line.20"></a>
-<span class="sourceLineNo">021</span>import static org.junit.Assert.assertEquals;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import static org.junit.Assert.assertFalse;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import static org.junit.Assert.assertTrue;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import static org.junit.Assert.fail;<a name="line.24"></a>
-<span class="sourceLineNo">025</span><a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.io.IOException;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.nio.ByteBuffer;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import java.util.ArrayList;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import java.util.Collection;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.util.HashMap;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.List;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import java.util.Map;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.conf.Configuration;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.CompatibilityFactory;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.HBaseClassTestRule;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.HBaseTestingUtility;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.HConstants;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.TableName;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.client.Put;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.client.Table;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.filter.ParseFilter;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.test.MetricsAssertHelper;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.testclassification.ClientTests;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.testclassification.LargeTests;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.thrift.ThriftServerRunner.HBaseHandler;<a name="line.49"></a>
+<span class="sourceLineNo">020</span>import static org.apache.hadoop.hbase.thrift.Constants.COALESCE_INC_KEY;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import static org.junit.Assert.assertArrayEquals;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import static org.junit.Assert.assertEquals;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import static org.junit.Assert.assertFalse;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import static org.junit.Assert.assertTrue;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import static org.junit.Assert.fail;<a name="line.25"></a>
+<span class="sourceLineNo">026</span><a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.io.IOException;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.nio.ByteBuffer;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.util.ArrayList;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.util.Collection;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import java.util.HashMap;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import java.util.List;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import java.util.Map;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.conf.Configuration;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.CompatibilityFactory;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.HBaseClassTestRule;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.HBaseTestingUtility;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.HConstants;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.TableName;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.client.Put;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.client.Table;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.filter.ParseFilter;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.test.MetricsAssertHelper;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.testclassification.ClientTests;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.testclassification.LargeTests;<a name="line.49"></a>
 <span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.thrift.generated.BatchMutation;<a name="line.50"></a>
 <span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.thrift.generated.ColumnDescriptor;<a name="line.51"></a>
 <span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.thrift.generated.Hbase;<a name="line.52"></a>
@@ -79,7 +79,7 @@
 <span class="sourceLineNo">071</span>import org.slf4j.LoggerFactory;<a name="line.71"></a>
 <span class="sourceLineNo">072</span><a name="line.72"></a>
 <span class="sourceLineNo">073</span>/**<a name="line.73"></a>
-<span class="sourceLineNo">074</span> * Unit testing for ThriftServerRunner.HBaseHandler, a part of the<a name="line.74"></a>
+<span class="sourceLineNo">074</span> * Unit testing for ThriftServerRunner.HBaseServiceHandler, a part of the<a name="line.74"></a>
 <span class="sourceLineNo">075</span> * org.apache.hadoop.hbase.thrift package.<a name="line.75"></a>
 <span class="sourceLineNo">076</span> */<a name="line.76"></a>
 <span class="sourceLineNo">077</span>@Category({ClientTests.class, LargeTests.class})<a name="line.77"></a>
@@ -121,7 +121,7 @@
 <span class="sourceLineNo">113</span><a name="line.113"></a>
 <span class="sourceLineNo">114</span>  @BeforeClass<a name="line.114"></a>
 <span class="sourceLineNo">115</span>  public static void beforeClass() throws Exception {<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    UTIL.getConfiguration().setBoolean(ThriftServerRunner.COALESCE_INC_KEY, true);<a name="line.116"></a>
+<span class="sourceLineNo">116</span>    UTIL.getConfiguration().setBoolean(COALESCE_INC_KEY, true);<a name="line.116"></a>
 <span class="sourceLineNo">117</span>    UTIL.getConfiguration().setBoolean("hbase.table.sanity.checks", false);<a name="line.117"></a>
 <span class="sourceLineNo">118</span>    UTIL.getConfiguration().setInt("hbase.client.retries.number", 3);<a name="line.118"></a>
 <span class="sourceLineNo">119</span>    UTIL.startMiniCluster();<a name="line.119"></a>
@@ -160,8 +160,8 @@
 <span class="sourceLineNo">152</span>   * IllegalArgument exception.<a name="line.152"></a>
 <span class="sourceLineNo">153</span>   */<a name="line.153"></a>
 <span class="sourceLineNo">154</span>  public void doTestTableCreateDrop() throws Exception {<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    ThriftServerRunner.HBaseHandler handler =<a name="line.155"></a>
-<span class="sourceLineNo">156</span>      new ThriftServerRunner.HBaseHandler(UTIL.getConfiguration(),<a name="line.156"></a>
+<span class="sourceLineNo">155</span>    ThriftHBaseServiceHandler handler =<a name="line.155"></a>
+<span class="sourceLineNo">156</span>      new ThriftHBaseServiceHandler(UTIL.getConfiguration(),<a name="line.156"></a>
 <span class="sourceLineNo">157</span>        UserProvider.instantiate(UTIL.getConfiguration()));<a name="line.157"></a>
 <span class="sourceLineNo">158</span>    doTestTableCreateDrop(handler);<a name="line.158"></a>
 <span class="sourceLineNo">159</span>  }<a name="line.159"></a>
@@ -171,7 +171,7 @@
 <span class="sourceLineNo">163</span>    dropTestTables(handler);<a name="line.163"></a>
 <span class="sourceLineNo">164</span>  }<a name="line.164"></a>
 <span class="sourceLineNo">165</span><a name="line.165"></a>
-<span class="sourceLineNo">166</span>  public static final class MySlowHBaseHandler extends ThriftServerRunner.HBaseHandler<a name="line.166"></a>
+<span class="sourceLineNo">166</span>  public static final class MySlowHBaseHandler extends ThriftHBaseServiceHandler<a name="line.166"></a>
 <span class="sourceLineNo">167</span>      implements Hbase.Iface {<a name="line.167"></a>
 <span class="sourceLineNo">168</span><a name="line.168"></a>
 <span class="sourceLineNo">169</span>    protected MySlowHBaseHandler(Configuration c)<a name="line.169"></a>
@@ -238,7 +238,7 @@
 <span class="sourceLineNo">230</span>  private static Hbase.Iface getHandlerForMetricsTest(ThriftMetrics metrics, Configuration conf)<a name="line.230"></a>
 <span class="sourceLineNo">231</span>      throws Exception {<a name="line.231"></a>
 <span class="sourceLineNo">232</span>    Hbase.Iface handler = new MySlowHBaseHandler(conf);<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    return HbaseHandlerMetricsProxy.newInstance(handler, metrics, conf);<a name="line.233"></a>
+<span class="sourceLineNo">233</span>    return HbaseHandlerMetricsProxy.newInstance((ThriftHBaseServiceHandler)handler, metrics, conf);<a name="line.233"></a>
 <span class="sourceLineNo">234</span>  }<a name="line.234"></a>
 <span class="sourceLineNo">235</span><a name="line.235"></a>
 <span class="sourceLineNo">236</span>  private static ThriftMetrics getMetrics(Configuration conf) throws Exception {<a name="line.236"></a>
@@ -278,15 +278,15 @@
 <span class="sourceLineNo">270</span>  }<a name="line.270"></a>
 <span class="sourceLineNo">271</span><a name="line.271"></a>
 <span class="sourceLineNo">272</span>  public void doTestIncrements() throws Exception {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>    ThriftServerRunner.HBaseHandler handler =<a name="line.273"></a>
-<span class="sourceLineNo">274</span>      new ThriftServerRunner.HBaseHandler(UTIL.getConfiguration(),<a name="line.274"></a>
+<span class="sourceLineNo">273</span>    ThriftHBaseServiceHandler handler =<a name="line.273"></a>
+<span class="sourceLineNo">274</span>      new ThriftHBaseServiceHandler(UTIL.getConfiguration(),<a name="line.274"></a>
 <span class="sourceLineNo">275</span>        UserProvider.instantiate(UTIL.getConfiguration()));<a name="line.275"></a>
 <span class="sourceLineNo">276</span>    createTestTables(handler);<a name="line.276"></a>
 <span class="sourceLineNo">277</span>    doTestIncrements(handler);<a name="line.277"></a>
 <span class="sourceLineNo">278</span>    dropTestTables(handler);<a name="line.278"></a>
 <span class="sourceLineNo">279</span>  }<a name="line.279"></a>
 <span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  public static void doTestIncrements(HBaseHandler handler) throws Exception {<a name="line.281"></a>
+<span class="sourceLineNo">281</span>  public static void doTestIncrements(ThriftHBaseServiceHandler handler) throws Exception {<a name="line.281"></a>
 <span class="sourceLineNo">282</span>    List&lt;Mutation&gt; mutations = new ArrayList&lt;&gt;(1);<a name="line.282"></a>
 <span class="sourceLineNo">283</span>    mutations.add(new Mutation(false, columnAAname, valueEname, true));<a name="line.283"></a>
 <span class="sourceLineNo">284</span>    mutations.add(new Mutation(false, columnAname, valueEname, true));<a name="line.284"></a>
@@ -326,8 +326,8 @@
 <span class="sourceLineNo">318</span>   * versions.<a name="line.318"></a>
 <span class="sourceLineNo">319</span>   */<a name="line.319"></a>
 <span class="sourceLineNo">320</span>  public void doTestTableMutations() throws Exception {<a name="line.320"></a>
-<span class="sourceLineNo">321</span>    ThriftServerRunner.HBaseHandler handler =<a name="line.321"></a>
-<span class="sourceLineNo">322</span>      new ThriftServerRunner.HBaseHandler(UTIL.getConfiguration(),<a name="line.322"></a>
+<span class="sourceLineNo">321</span>    ThriftHBaseServiceHandler handler =<a name="line.321"></a>
+<span class="sourceLineNo">322</span>      new ThriftHBaseServiceHandler(UTIL.getConfiguration(),<a name="line.322"></a>
 <span class="sourceLineNo">323</span>        UserProvider.instantiate(UTIL.getConfiguration()));<a name="line.323"></a>
 <span class="sourceLineNo">324</span>    doTestTableMutations(handler);<a name="line.324"></a>
 <span class="sourceLineNo">325</span>  }<a name="line.325"></a>
@@ -403,8 +403,8 @@
 <span class="sourceLineNo">395</span>   */<a name="line.395"></a>
 <span class="sourceLineNo">396</span>  public void doTestTableTimestampsAndColumns() throws Exception {<a name="line.396"></a>
 <span class="sourceLineNo">397</span>    // Setup<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    ThriftServerRunner.HBaseHandler handler =<a name="line.398"></a>
-<span class="sourceLineNo">399</span>      new ThriftServerRunner.HBaseHandler(UTIL.getConfiguration(),<a name="line.399"></a>
+<span class="sourceLineNo">398</span>    ThriftHBaseServiceHandler handler =<a name="line.398"></a>
+<span class="sourceLineNo">399</span>      new ThriftHBaseServiceHandler(UTIL.getConfiguration(),<a name="line.399"></a>
 <span class="sourceLineNo">400</span>        UserProvider.instantiate(UTIL.getConfiguration()));<a name="line.400"></a>
 <span class="sourceLineNo">401</span>    handler.createTable(tableAname, getColumnDescriptors());<a name="line.401"></a>
 <span class="sourceLineNo">402</span><a name="line.402"></a>
@@ -481,8 +481,8 @@
 <span class="sourceLineNo">473</span>   */<a name="line.473"></a>
 <span class="sourceLineNo">474</span>  public void doTestTableScanners() throws Exception {<a name="line.474"></a>
 <span class="sourceLineNo">475</span>    // Setup<a name="line.475"></a>
-<span class="sourceLineNo">476</span>    ThriftServerRunner.HBaseHandler handler =<a name="line.476"></a>
-<span class="sourceLineNo">477</span>      new ThriftServerRunner.HBaseHandler(UTIL.getConfiguration(),<a name="line.477"></a>
+<span class="sourceLineNo">476</span>    ThriftHBaseServiceHandler handler =<a name="line.476"></a>
+<span class="sourceLineNo">477</span>      new ThriftHBaseServiceHandler(UTIL.getConfiguration(),<a name="line.477"></a>
 <span class="sourceLineNo">478</span>        UserProvider.instantiate(UTIL.getConfiguration()));<a name="line.478"></a>
 <span class="sourceLineNo">479</span>    handler.createTable(tableAname, getColumnDescriptors());<a name="line.479"></a>
 <span class="sourceLineNo">480</span><a name="line.480"></a>
@@ -600,8 +600,8 @@
 <span class="sourceLineNo">592</span>   * Tests for GetTableRegions<a name="line.592"></a>
 <span class="sourceLineNo">593</span>   */<a name="line.593"></a>
 <span class="sourceLineNo">594</span>  public void doTestGetTableRegions() throws Exception {<a name="line.594"></a>
-<span class="sourceLineNo">595</span>    ThriftServerRunner.HBaseHandler handler =<a name="line.595"></a>
-<span class="sourceLineNo">596</span>      new ThriftServerRunner.HBaseHandler(UTIL.getConfiguration(),<a name="line.596"></a>
+<span class="sourceLineNo">595</span>    ThriftHBaseServiceHandler handler =<a name="line.595"></a>
+<span class="sourceLineNo">596</span>      new ThriftHBaseServiceHandler(UTIL.getConfiguration(),<a name="line.596"></a>
 <span class="sourceLineNo">597</span>        UserProvider.instantiate(UTIL.getConfiguration()));<a name="line.597"></a>
 <span class="sourceLineNo">598</span>    doTestGetTableRegions(handler);<a name="line.598"></a>
 <span class="sourceLineNo">599</span>  }<a name="line.599"></a>
@@ -628,7 +628,7 @@
 <span class="sourceLineNo">620</span><a name="line.620"></a>
 <span class="sourceLineNo">621</span>    conf.set("hbase.thrift.filters", "MyFilter:filterclass");<a name="line.621"></a>
 <span class="sourceLineNo">622</span><a name="line.622"></a>
-<span class="sourceLineNo">623</span>    ThriftServerRunner.registerFilters(conf);<a name="line.623"></a>
+<span class="sourceLineNo">623</span>    ThriftServer.registerFilters(conf);<a name="line.623"></a>
 <span class="sourceLineNo">624</span><a name="line.624"></a>
 <span class="sourceLineNo">625</span>    Map&lt;String, String&gt; registeredFilters = ParseFilter.getAllFilters();<a name="line.625"></a>
 <span class="sourceLineNo">626</span><a name="line.626"></a>
@@ -636,8 +636,8 @@
 <span class="sourceLineNo">628</span>  }<a name="line.628"></a>
 <span class="sourceLineNo">629</span><a name="line.629"></a>
 <span class="sourceLineNo">630</span>  public void doTestGetRegionInfo() throws Exception {<a name="line.630"></a>
-<span class="sourceLineNo">631</span>    ThriftServerRunner.HBaseHandler handler =<a name="line.631"></a>
-<span class="sourceLineNo">632</span>      new ThriftServerRunner.HBaseHandler(UTIL.getConfiguration(),<a name="line.632"></a>
+<span class="sourceLineNo">631</span>    ThriftHBaseServiceHandler handler =<a name="line.631"></a>
+<span class="sourceLineNo">632</span>      new ThriftHBaseServiceHandler(UTIL.getConfiguration(),<a name="line.632"></a>
 <span class="sourceLineNo">633</span>        UserProvider.instantiate(UTIL.getConfiguration()));<a name="line.633"></a>
 <span class="sourceLineNo">634</span>    doTestGetRegionInfo(handler);<a name="line.634"></a>
 <span class="sourceLineNo">635</span>  }<a name="line.635"></a>
@@ -663,8 +663,8 @@
 <span class="sourceLineNo">655</span>   * Appends the value to a cell and checks that the cell value is updated properly.<a name="line.655"></a>
 <span class="sourceLineNo">656</span>   */<a name="line.656"></a>
 <span class="sourceLineNo">657</span>  public static void doTestAppend() throws Exception {<a name="line.657"></a>
-<span class="sourceLineNo">658</span>    ThriftServerRunner.HBaseHandler handler =<a name="line.658"></a>
-<span class="sourceLineNo">659</span>      new ThriftServerRunner.HBaseHandler(UTIL.getConfiguration(),<a name="line.659"></a>
+<span class="sourceLineNo">658</span>    ThriftHBaseServiceHandler handler =<a name="line.658"></a>
+<span class="sourceLineNo">659</span>      new ThriftHBaseServiceHandler(UTIL.getConfiguration(),<a name="line.659"></a>
 <span class="sourceLineNo">660</span>        UserProvider.instantiate(UTIL.getConfiguration()));<a name="line.660"></a>
 <span class="sourceLineNo">661</span>    handler.createTable(tableAname, getColumnDescriptors());<a name="line.661"></a>
 <span class="sourceLineNo">662</span>    try {<a name="line.662"></a>
@@ -695,8 +695,8 @@
 <span class="sourceLineNo">687</span>   * the checkAndPut succeeds.<a name="line.687"></a>
 <span class="sourceLineNo">688</span>   */<a name="line.688"></a>
 <span class="sourceLineNo">689</span>  public static void doTestCheckAndPut() throws Exception {<a name="line.689"></a>
-<span class="sourceLineNo">690</span>    ThriftServerRunner.HBaseHandler handler =<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      new ThriftServerRunner.HBaseHandler(UTIL.getConfiguration(),<a name="line.691"></a>
+<span class="sourceLineNo">690</span>    ThriftHBaseServiceHandler handler =<a name="line.690"></a>
+<span class="sourceLineNo">691</span>      new ThriftHBaseServiceHandler(UTIL.getConfiguration(),<a name="line.691"></a>
 <span class="sourceLineNo">692</span>        UserProvider.instantiate(UTIL.getConfiguration()));<a name="line.692"></a>
 <span class="sourceLineNo">693</span>    handler.createTable(tableAname, getColumnDescriptors());<a name="line.693"></a>
 <span class="sourceLineNo">694</span>    try {<a name="line.694"></a>
@@ -737,8 +737,8 @@
 <span class="sourceLineNo">729</span><a name="line.729"></a>
 <span class="sourceLineNo">730</span>    Configuration conf = UTIL.getConfiguration();<a name="line.730"></a>
 <span class="sourceLineNo">731</span>    ThriftMetrics metrics = getMetrics(conf);<a name="line.731"></a>
-<span class="sourceLineNo">732</span>    ThriftServerRunner.HBaseHandler hbaseHandler =<a name="line.732"></a>
-<span class="sourceLineNo">733</span>        new ThriftServerRunner.HBaseHandler(UTIL.getConfiguration(),<a name="line.733"></a>
+<span class="sourceLineNo">732</span>    ThriftHBaseServiceHandler hbaseHandler =<a name="line.732"></a>
+<span class="sourceLineNo">733</span>        new ThriftHBaseServiceHandler(UTIL.getConfiguration(),<a name="line.733"></a>
 <span class="sourceLineNo">734</span>            UserProvider.instantiate(UTIL.getConfiguration()));<a name="line.734"></a>
 <span class="sourceLineNo">735</span>    Hbase.Iface handler = HbaseHandlerMetricsProxy.newInstance(hbaseHandler, metrics, conf);<a name="line.735"></a>
 <span class="sourceLineNo">736</span><a name="line.736"></a>
@@ -871,10 +871,10 @@
 <span class="sourceLineNo">863</span>   * the scanner.<a name="line.863"></a>
 <span class="sourceLineNo">864</span>   *<a name="line.864"></a>
 <span class="sourceLineNo">865</span>   * @param scannerId the scanner to close<a name="line.865"></a>
-<span class="sourceLineNo">866</span>   * @param handler the HBaseHandler interfacing to HBase<a name="line.866"></a>
+<span class="sourceLineNo">866</span>   * @param handler the HBaseServiceHandler interfacing to HBase<a name="line.866"></a>
 <span class="sourceLineNo">867</span>   */<a name="line.867"></a>
 <span class="sourceLineNo">868</span>  private void closeScanner(<a name="line.868"></a>
-<span class="sourceLineNo">869</span>      int scannerId, ThriftServerRunner.HBaseHandler handler) throws Exception {<a name="line.869"></a>
+<span class="sourceLineNo">869</span>      int scannerId, ThriftHBaseServiceHandler handler) throws Exception {<a name="line.869"></a>
 <span class="sourceLineNo">870</span>    handler.scannerGet(scannerId);<a name="line.870"></a>
 <span class="sourceLineNo">871</span>    handler.scannerClose(scannerId);<a name="line.871"></a>
 <span class="sourceLineNo">872</span>  }<a name="line.872"></a>