You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kudu.apache.org by ab...@apache.org on 2018/10/26 18:57:26 UTC

[33/52] [abbrv] [partial] kudu git commit: Updating web site for Kudu 1.8.0 release

http://git-wip-us.apache.org/repos/asf/kudu/blob/1fefa84c/docs/troubleshooting.html
----------------------------------------------------------------------
diff --git a/docs/troubleshooting.html b/docs/troubleshooting.html
deleted file mode 100644
index 138ad27..0000000
--- a/docs/troubleshooting.html
+++ /dev/null
@@ -1,854 +0,0 @@
----
-title: Apache Kudu Troubleshooting
-layout: default
-active_nav: docs
-last_updated: 'Last updated 2018-06-15 07:22:05 PDT'
----
-<!--
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-
-<div class="container">
-  <div class="row">
-    <div class="col-md-9">
-
-<h1>Apache Kudu Troubleshooting</h1>
-      <div class="sect1">
-<h2 id="_startup_errors"><a class="link" href="#_startup_errors">Startup Errors</a></h2>
-<div class="sectionbody">
-<div class="sect2">
-<h3 id="req_hole_punching"><a class="link" href="#req_hole_punching">Errors During Hole Punching Test</a></h3>
-<div class="paragraph">
-<p>Kudu requires hole punching capabilities in order to be efficient. Hole punching support
-depends upon your operation system kernel version and local filesystem implementation.</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>RHEL or CentOS 6.4 or later, patched to kernel version of 2.6.32-358 or later.
-Unpatched RHEL or CentOS 6.4 does not include a kernel with support for hole punching.</p>
-</li>
-<li>
-<p>Ubuntu 14.04 includes version 3.13 of the Linux kernel, which supports hole punching.</p>
-</li>
-<li>
-<p>Newer versions of the EXT4 or XFS file systems support hole punching, but EXT3 does
-not. Older versions of XFS that do not support hole punching return a <code>EOPNOTSUPP</code>
-(operation not supported) error. Older versions of either EXT4 or XFS that do
-not support hole punching cause Kudu to emit an error message such as the following
-and to fail to start:</p>
-<div class="listingblock">
-<div class="content">
-<pre>Error during hole punch test. The log block manager requires a
-filesystem with hole punching support such as ext4 or xfs. On el6,
-kernel version 2.6.32-358 or newer is required. To run without hole
-punching (at the cost of some efficiency and scalability), reconfigure
-Kudu with --block_manager=file. Refer to the Kudu documentation for more
-details. Raw error message follows.</pre>
-</div>
-</div>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>Without hole punching support, the log block manager is unsafe to use. It won&#8217;t
-ever delete blocks, and will consume ever more space on disk.</p>
-</div>
-<div class="paragraph">
-<p>If you can&#8217;t use hole punching in your environment, you can still
-try Kudu. Enable the file block manager instead of the log block manager by
-adding the <code>--block_manager=file</code> flag to the commands you use to start the master
-and tablet servers. The file block manager does not scale as well as the log block
-manager.</p>
-</div>
-<div class="admonitionblock warning">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-warning" title="Warning"></i>
-</td>
-<td class="content">
-The file block manager is known to scale and perform poorly, and should
-only be used for small-scale evaluation and development.
-</td>
-</tr>
-</table>
-</div>
-</div>
-<div class="sect2">
-<h3 id="ntp"><a class="link" href="#ntp">NTP Clock Synchronization</a></h3>
-<div class="paragraph">
-<p>For the master and tablet server daemons, the server&#8217;s clock must be synchronized using NTP.
-In addition, the <strong>maximum clock error</strong> (not to be mistaken with the estimated error)
-be below a configurable threshold. The default value is 10 seconds, but it can be set with the flag
-<code>--max_clock_sync_error_usec</code>.</p>
-</div>
-<div class="paragraph">
-<p>If NTP is not installed, or if the clock is reported as unsynchronized, Kudu will not
-start, and will emit a message such as:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre>F0924 20:24:36.336809 14550 hybrid_clock.cc:191 Couldn't get the current time: Clock unsynchronized. Status: Service unavailable: Error reading clock. Clock considered unsynchronized.</pre>
-</div>
-</div>
-<div class="paragraph">
-<p>If NTP is installed and synchronized, but the maximum clock error is too high,
-the user will see a message such as:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre>Sep 17, 8:13:09.873 PM FATAL hybrid_clock.cc:196 Couldn't get the current time: Clock synchronized, but error: 11130000, is past the maximum allowable error: 10000000</pre>
-</div>
-</div>
-<div class="paragraph">
-<p>or</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre>Sep 17, 8:32:31.135 PM FATAL tablet_server_main.cc:38 Check failed: _s.ok() Bad status: Service unavailable: Cannot initialize clock: Cannot initialize HybridClock. Clock synchronized but error was too high (11711000 us).</pre>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_installing_ntp"><a class="link" href="#_installing_ntp">Installing NTP</a></h4>
-<div class="paragraph">
-<p>To install NTP, use the appropriate command for your operating system:</p>
-</div>
-<table class="tableblock frame-all grid-all spread">
-<colgroup>
-<col style="width: 50%;">
-<col style="width: 50%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">OS</th>
-<th class="tableblock halign-left valign-top">Command</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Debian/Ubuntu</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>sudo apt-get install ntp</code></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">RHEL/CentOS</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>sudo yum install ntp</code></p></td>
-</tr>
-</tbody>
-</table>
-<div class="paragraph">
-<p>If NTP is installed but not running, start it using one of these commands:</p>
-</div>
-<table class="tableblock frame-all grid-all spread">
-<colgroup>
-<col style="width: 50%;">
-<col style="width: 50%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">OS</th>
-<th class="tableblock halign-left valign-top">Command</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Debian/Ubuntu</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>sudo service ntp restart</code></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">RHEL/CentOS</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>sudo /etc/init.d/ntpd restart</code></p></td>
-</tr>
-</tbody>
-</table>
-</div>
-<div class="sect3">
-<h4 id="_monitoring_ntp_status"><a class="link" href="#_monitoring_ntp_status">Monitoring NTP Status</a></h4>
-<div class="paragraph">
-<p>When NTP is installed, you can monitor the synchronization status by running
-<code>ntptime</code>. For example, a healthy system may report:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre>ntp_gettime() returns code 0 (OK)
-  time de24c0cf.8d5da274  Tue, Feb  6 2018 16:03:27.552, (.552210980),
-  maximum error 224455 us, estimated error 383 us, TAI offset 0
-ntp_adjtime() returns code 0 (OK)
-  modes 0x0 (),
-  offset 1279.543 us, frequency 2.500 ppm, interval 1 s,
-  maximum error 224455 us, estimated error 383 us,
-  status 0x2001 (PLL,NANO),
-  time constant 10, precision 0.001 us, tolerance 500 ppm,</pre>
-</div>
-</div>
-<div class="paragraph">
-<p>In particular, note the following most important pieces of output:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p><code>maximum error 22455 us</code>: this value is well under the 10-second maximum error required
-by Kudu.</p>
-</li>
-<li>
-<p><code>status 0x2001 (PLL,NANO)</code>: this indicates a healthy synchronization status.</p>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>In contrast, a system without NTP properly configured and running will output
-something like the following:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre>ntp_gettime() returns code 5 (ERROR)
-  time de24c240.0c006000  Tue, Feb  6 2018 16:09:36.046, (.046881),
-  maximum error 16000000 us, estimated error 16000000 us, TAI offset 0
-ntp_adjtime() returns code 5 (ERROR)
-  modes 0x0 (),
-  offset 0.000 us, frequency 2.500 ppm, interval 1 s,
-  maximum error 16000000 us, estimated error 16000000 us,
-  status 0x40 (UNSYNC),
-  time constant 10, precision 1.000 us, tolerance 500 ppm,</pre>
-</div>
-</div>
-<div class="paragraph">
-<p>Note the <code>UNSYNC</code> status and the 16-second maximum error.</p>
-</div>
-<div class="paragraph">
-<p>If more detailed information is needed, the <code>ntpq</code> or <code>ntpdc</code> tools
-can be used to dump further information about which network time servers
-are currently acting as sources:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre>$ ntpq -n -c opeers
-     remote           local      st t when poll reach   delay   offset    disp
-==============================================================================
- 0.0.0.0         0.0.0.0         16 p    -   64    0    0.000    0.000 16000.0
- 0.0.0.0         0.0.0.0         16 p    -   64    0    0.000    0.000 16000.0
- 0.0.0.0         0.0.0.0         16 p    -   64    0    0.000    0.000 16000.0
- 0.0.0.0         0.0.0.0         16 p    -   64    0    0.000    0.000 16000.0
- 0.0.0.0         0.0.0.0         16 p    -   64    0    0.000    0.000 16000.0
--108.59.2.24     10.16.2.89       2 u    3   64    3   74.380    0.321  62.992
--208.82.104.205  10.16.2.89       2 u    5   64    3   52.654   -4.054  62.965
-#192.96.202.120  10.16.2.89       2 u    1   64    3   74.737    6.538  62.988
-#69.10.161.7     10.16.2.89       3 u    5   64    3   28.353   -1.967  62.960
--173.255.206.154 10.16.2.89       3 u    -   64    3   42.906   -3.127  62.996
--69.195.159.158  10.16.2.89       2 u    1   64    3   52.543   -4.788  62.987
-*216.218.254.202 10.16.2.89       1 u    5   64    3    2.567    0.053  62.974
--129.250.35.250  10.16.2.89       2 u    3   64    3    2.603    0.256  62.985
-+45.76.244.193   10.16.2.89       2 u    5   64    3   19.522    0.188  62.969
--69.89.207.199   10.16.2.89       2 u    5   64    3   66.687   -0.395  62.967
--171.66.97.126   10.16.2.89       1 u    1   64    3   12.627   -3.572  62.963
-#66.228.42.59    10.16.2.89       4 u    1   64    3   72.143    4.034  62.971
- 91.189.89.198   10.16.2.89       2 u    5   64    3  135.329    3.069 3937.74
-#162.210.111.4   10.16.2.89       2 u    -   64    3   29.572    6.849  62.966
-+199.102.46.80   10.16.2.89       1 u    3   64    3   57.022    0.111  63.386
- 91.189.89.199   10.16.2.89       2 u    4   64    3  138.269    3.228 3937.98</pre>
-</div>
-</div>
-<div class="admonitionblock tip">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-tip" title="Tip"></i>
-</td>
-<td class="content">
-Depending on the specific version of NTP, the correct command may be either
-<code>ntpq -n -c opeers</code> or <code>ntpq -n -c lpeers</code>.
-</td>
-</tr>
-</table>
-</div>
-<div class="sidebarblock">
-<div class="content">
-<div class="paragraph">
-<div class="title">Using <code>chrony</code> for time synchronization</div>
-<p>Some operating systems offer <code>chrony</code> as an alternative to <code>ntpd</code> for network time
-synchronization. Kudu has been tested most thoroughly using <code>ntpd</code> and use of
-<code>chrony</code> is considered experimental.</p>
-</div>
-<div class="paragraph">
-<p>In order to use <code>chrony</code> for synchronization, <code>chrony.conf</code> must be configured
-with the <code>rtcsync</code> option.</p>
-</div>
-</div>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_ntp_configuration_best_practices"><a class="link" href="#_ntp_configuration_best_practices">NTP Configuration Best Practices</a></h4>
-<div class="paragraph">
-<p>In order to provide stable time synchronization with low maximum error, follow
-these best NTP configuration best practices.</p>
-</div>
-<div class="paragraph">
-<p><strong>Always configure at least four time sources for NTP.</strong> In addition to providing
-redundancy in case one or more time sources becomes unavailable, The NTP protocol is
-designed to increase its accuracy with a diversity of sources. Even if your organization
-provides one or more local time servers, configuring additional remote servers is highly
-recommended for a robust setup.</p>
-</div>
-<div class="paragraph">
-<p><strong>Pick servers in your server&#8217;s local geography.</strong> For example, if your servers are located
-in Europe, pick servers from the European NTP pool. If your servers are running in a public
-cloud environment, consult the cloud provider&#8217;s documentation for a recommended NTP setup.
-Many cloud providers offer highly accurate clock synchronization as a service.</p>
-</div>
-<div class="paragraph">
-<p><strong>Use the <code>iburst</code> option for faster synchronization at startup</strong>. The <code>iburst</code> option
-instructs <code>ntpd</code> to send an initial "burst" of time queries at startup. This typically
-results in a faster time synchronization when a machine restarts.</p>
-</div>
-<div class="paragraph">
-<p>An example NTP server list may appear as follows:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre># Use my organization's internal NTP servers.
-server ntp1.myorg.internal iburst
-server ntp2.myorg.internal iburst
-# Provide several public pool servers from the US pool for
-# redundancy and robustness.
-server 0.pool.us.ntp.org iburst
-server 1.pool.us.ntp.org iburst
-server 2.pool.us.ntp.org iburst
-server 3.pool.us.ntp.org iburst</pre>
-</div>
-</div>
-<div class="admonitionblock tip">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-tip" title="Tip"></i>
-</td>
-<td class="content">
-After configuring NTP, use the <code>ntpq</code> tool described above to verify that <code>ntpd</code> was
-able to connect to a variety of peers. If no public peers appear, it is possiblbe that
-the NTP protocol is being blocked by a firewall or other network connectivity issue.
-</td>
-</tr>
-</table>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_troubleshooting_ntp_stability_problems"><a class="link" href="#_troubleshooting_ntp_stability_problems">Troubleshooting NTP Stability Problems</a></h4>
-<div class="paragraph">
-<p>As of Kudu 1.6.0, Kudu daemons are able to continue to operate during a brief loss of
-NTP synchronization. If NTP synchronization is lost for several hours, however, daemons
-may crash. If a daemon crashes due to NTP synchronization issues, consult the <code>ERROR</code> log
-for a dump of related information which may help to diagnose the issue.</p>
-</div>
-<div class="admonitionblock tip">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-tip" title="Tip"></i>
-</td>
-<td class="content">
-Kudu 1.5.0 and earlier versions were less resilient to brief NTP outages. In
-addition, they contained a <a href="https://issues.apache.org/jira/browse/KUDU-2209">bug</a>
-which could cause Kudu to incorrectly measure the maximum error, resulting in
-crashes. If you experience crashes related to clock synchronization on these
-earlier versions of Kudu and it appears that the system&#8217;s NTP configuration is correct,
-consider upgrading to Kudu 1.6.0 or later.
-</td>
-</tr>
-</table>
-</div>
-<div class="admonitionblock tip">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-tip" title="Tip"></i>
-</td>
-<td class="content">
-NTP requires a network connection and may take a few minutes to synchronize the clock
-at startup. In some cases a spotty network connection may make NTP report the clock as unsynchronized.
-A common, though temporary, workaround for this is to restart NTP with one of the commands above.
-</td>
-</tr>
-</table>
-</div>
-</div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="crash_reporting"><a class="link" href="#crash_reporting">Reporting Kudu Crashes</a></h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>Kudu uses the
-<a href="https://chromium.googlesource.com/breakpad/breakpad/">Google Breakpad</a>
-library to generate a minidump whenever Kudu experiences a crash. These
-minidumps are typically only a few MB in size and are generated even if core
-dump generation is disabled. At this time, generating minidumps is only
-possible in Kudu on Linux builds.</p>
-</div>
-<div class="paragraph">
-<p>A minidump file contains important debugging information about the process that
-crashed, including shared libraries loaded and their versions, a list of
-threads running at the time of the crash, the state of the processor registers
-and a copy of the stack memory for each thread, and CPU and operating system
-version information.</p>
-</div>
-<div class="paragraph">
-<p>It is also possible to force Kudu to create a minidump without killing the
-process by sending a <code>USR1</code> signal to the <code>kudu-tserver</code> or <code>kudu-master</code>
-process. For example:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="highlight"><code class="language-bash" data-lang="bash">sudo pkill -USR1 kudu-tserver</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>By default, Kudu stores its minidumps in a subdirectory of its configured glog
-directory called <code>minidumps</code>. This location can be customized by setting the
-<code>--minidump_path</code> flag. Kudu will retain only a certain number of minidumps
-before deleting the oldest ones, in an effort to avoid filling up the disk with
-minidump files. The maximum number of minidumps that will be retained can be
-controlled by setting the <code>--max_minidumps</code> gflag.</p>
-</div>
-<div class="paragraph">
-<p>Minidumps contain information specific to the binary that created them and so
-are not usable without access to the exact binary that crashed, or a very
-similar binary. For more information on processing and using minidump files,
-see scripts/dump_breakpad_symbols.py.</p>
-</div>
-<div class="admonitionblock note">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-note" title="Note"></i>
-</td>
-<td class="content">
-A minidump can be emailed to a Kudu developer or attached to a JIRA in
-order to help a Kudu developer debug a crash. In order for it to be useful, the
-developer will need to know the exact version of Kudu and the operating system
-where the crash was observed. Note that while a minidump does not contain a
-heap memory dump, it does contain stack memory and therefore it is possible for
-application data to appear in a minidump. If confidential or personal
-information is stored on the cluster, do not share minidump files.
-</td>
-</tr>
-</table>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_performance_troubleshooting"><a class="link" href="#_performance_troubleshooting">Performance Troubleshooting</a></h2>
-<div class="sectionbody">
-<div class="sect2">
-<h3 id="kudu_tracing"><a class="link" href="#kudu_tracing">Kudu Tracing</a></h3>
-<div class="paragraph">
-<p>The <code>kudu-master</code> and <code>kudu-tserver</code> daemons include built-in tracing support
-based on the open source
-<a href="https://www.chromium.org/developers/how-tos/trace-event-profiling-tool">Chromium Tracing</a>
-framework. You can use tracing to help diagnose latency issues or other problems
-on Kudu servers.</p>
-</div>
-<div class="sect3">
-<h4 id="_accessing_the_tracing_interface"><a class="link" href="#_accessing_the_tracing_interface">Accessing the tracing interface</a></h4>
-<div class="paragraph">
-<p>The tracing interface is accessed via a web browser as part of the
-embedded web server in each of the Kudu daemons.</p>
-</div>
-<table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 1. Tracing Interface URLs</caption>
-<colgroup>
-<col style="width: 50%;">
-<col style="width: 50%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Daemon</th>
-<th class="tableblock halign-left valign-top">URL</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Tablet Server</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="http://tablet-server-1.example.com:8050/tracing.html" class="bare">http://tablet-server-1.example.com:8050/tracing.html</a></p></td>
-</tr>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Master</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="http://master-1.example.com:8051/tracing.html" class="bare">http://master-1.example.com:8051/tracing.html</a></p></td>
-</tr>
-</tbody>
-</table>
-<div class="admonitionblock warning">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-warning" title="Warning"></i>
-</td>
-<td class="content">
-The tracing interface is known to work in recent versions of Google Chrome.
-Other browsers may not work as expected.
-</td>
-</tr>
-</table>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_collecting_a_trace"><a class="link" href="#_collecting_a_trace">Collecting a trace</a></h4>
-<div class="paragraph">
-<p>After navigating to the tracing interface, click the <strong>Record</strong> button on the top left corner
-of the screen. When beginning to diagnose a problem, start by selecting all categories.
-Click <strong>Record</strong> to begin recording a trace.</p>
-</div>
-<div class="paragraph">
-<p>During the trace collection, events are collected into an in-memory ring buffer.
-This ring buffer is fixed in size, so it will eventually fill up to 100%. However, new events
-are still being collected while older events are being removed. While recording the trace,
-trigger the behavior or workload you are interested in exploring.</p>
-</div>
-<div class="paragraph">
-<p>After collecting for several seconds, click <strong>Stop</strong>. The collected trace will be
-downloaded and displayed. Use the <strong>?</strong> key to display help text about using the tracing
-interface to explore the trace.</p>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_saving_a_trace"><a class="link" href="#_saving_a_trace">Saving a trace</a></h4>
-<div class="paragraph">
-<p>You can save collected traces as JSON files for later analysis by clicking <strong>Save</strong>
-after collecting the trace. To load and analyze a saved JSON file, click <strong>Load</strong>
-and choose the file.</p>
-</div>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_rpc_timeout_traces"><a class="link" href="#_rpc_timeout_traces">RPC Timeout Traces</a></h3>
-<div class="paragraph">
-<p>If client applications are experiencing RPC timeouts, the Kudu tablet server
-<code>WARNING</code> level logs should contain a log entry which includes an RPC-level trace. For example:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre>W0922 00:56:52.313848 10858 inbound_call.cc:193] Call kudu.consensus.ConsensusService.UpdateConsensus
-from 192.168.1.102:43499 (request call id 3555909) took 1464ms (client timeout 1000).
-W0922 00:56:52.314888 10858 inbound_call.cc:197] Trace:
-0922 00:56:50.849505 (+     0us) service_pool.cc:97] Inserting onto call queue
-0922 00:56:50.849527 (+    22us) service_pool.cc:158] Handling call
-0922 00:56:50.849574 (+    47us) raft_consensus.cc:1008] Updating replica for 2 ops
-0922 00:56:50.849628 (+    54us) raft_consensus.cc:1050] Early marking committed up to term: 8 index: 880241
-0922 00:56:50.849968 (+   340us) raft_consensus.cc:1056] Triggering prepare for 2 ops
-0922 00:56:50.850119 (+   151us) log.cc:420] Serialized 1555 byte log entry
-0922 00:56:50.850213 (+    94us) raft_consensus.cc:1131] Marking committed up to term: 8 index: 880241
-0922 00:56:50.850218 (+     5us) raft_consensus.cc:1148] Updating last received op as term: 8 index: 880243
-0922 00:56:50.850219 (+     1us) raft_consensus.cc:1195] Filling consensus response to leader.
-0922 00:56:50.850221 (+     2us) raft_consensus.cc:1169] Waiting on the replicates to finish logging
-0922 00:56:52.313763 (+1463542us) raft_consensus.cc:1182] finished
-0922 00:56:52.313764 (+     1us) raft_consensus.cc:1190] UpdateReplicas() finished
-0922 00:56:52.313788 (+    24us) inbound_call.cc:114] Queueing success response</pre>
-</div>
-</div>
-<div class="paragraph">
-<p>These traces can give an indication of which part of the request was slow. Please
-include them in bug reports related to RPC latency outliers.</p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_kernel_stack_watchdog_traces"><a class="link" href="#_kernel_stack_watchdog_traces">Kernel Stack Watchdog Traces</a></h3>
-<div class="paragraph">
-<p>Each Kudu server process has a background thread called the Stack Watchdog, which
-monitors the other threads in the server in case they have blocked for
-longer-than-expected periods of time. These traces can indicate operating system issues
-or bottlenecked storage.</p>
-</div>
-<div class="paragraph">
-<p>When the watchdog thread identifies a case of thread blockage, it logs an entry
-in the <code>WARNING</code> log like the following:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre>W0921 23:51:54.306350 10912 kernel_stack_watchdog.cc:111] Thread 10937 stuck at /data/kudu/consensus/log.cc:505 for 537ms:
-Kernel stack:
-[&lt;ffffffffa00b209d&gt;] do_get_write_access+0x29d/0x520 [jbd2]
-[&lt;ffffffffa00b2471&gt;] jbd2_journal_get_write_access+0x31/0x50 [jbd2]
-[&lt;ffffffffa00fe6d8&gt;] __ext4_journal_get_write_access+0x38/0x80 [ext4]
-[&lt;ffffffffa00d9b23&gt;] ext4_reserve_inode_write+0x73/0xa0 [ext4]
-[&lt;ffffffffa00d9b9c&gt;] ext4_mark_inode_dirty+0x4c/0x1d0 [ext4]
-[&lt;ffffffffa00d9e90&gt;] ext4_dirty_inode+0x40/0x60 [ext4]
-[&lt;ffffffff811ac48b&gt;] __mark_inode_dirty+0x3b/0x160
-[&lt;ffffffff8119c742&gt;] file_update_time+0xf2/0x170
-[&lt;ffffffff8111c1e0&gt;] __generic_file_aio_write+0x230/0x490
-[&lt;ffffffff8111c4c8&gt;] generic_file_aio_write+0x88/0x100
-[&lt;ffffffffa00d3fb1&gt;] ext4_file_write+0x61/0x1e0 [ext4]
-[&lt;ffffffff81180f5b&gt;] do_sync_readv_writev+0xfb/0x140
-[&lt;ffffffff81181ee6&gt;] do_readv_writev+0xd6/0x1f0
-[&lt;ffffffff81182046&gt;] vfs_writev+0x46/0x60
-[&lt;ffffffff81182102&gt;] sys_pwritev+0xa2/0xc0
-[&lt;ffffffff8100b072&gt;] system_call_fastpath+0x16/0x1b
-[&lt;ffffffffffffffff&gt;] 0xffffffffffffffff
-
-User stack:
-    @       0x3a1ace10c4  (unknown)
-    @          0x1262103  (unknown)
-    @          0x12622d4  (unknown)
-    @          0x12603df  (unknown)
-    @           0x8e7bfb  (unknown)
-    @           0x8f478b  (unknown)
-    @           0x8f55db  (unknown)
-    @          0x12a7b6f  (unknown)
-    @       0x3a1b007851  (unknown)
-    @       0x3a1ace894d  (unknown)
-    @              (nil)  (unknown)</pre>
-</div>
-</div>
-<div class="paragraph">
-<p>These traces can be useful for diagnosing root-cause latency issues when they are caused by systems
-below Kudu, such as disk controllers or file systems.</p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="memory_limits"><a class="link" href="#memory_limits">Memory Limits</a></h3>
-<div class="paragraph">
-<p>Kudu has a hard and soft memory limit. The hard memory limit is the maximum amount a Kudu process
-is allowed to use, and is controlled by the <code>--memory_limit_hard_bytes</code> flag. The soft memory limit
-is a percentage of the hard memory limit, controlled by the flag <code>memory_limit_soft_percentage</code> and
-with a default value of 80%, that determines the amount of memory a process may use before it will
-start rejecting some write operations.</p>
-</div>
-<div class="paragraph">
-<p>If the logs or RPC traces contain messages like</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre>Service unavailable: Soft memory limit exceeded (at 96.35% of capacity)</pre>
-</div>
-</div>
-<div class="paragraph">
-<p>then Kudu is rejecting writes due to memory backpressure. This may result in write timeouts. There
-are several ways to relieve the memory pressure on Kudu:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>If the host has more memory available for Kudu, increase <code>--memory_limit_hard_bytes</code>.</p>
-</li>
-<li>
-<p>Increase the rate at which Kudu can flush writes from memory to disk by increasing the number of
-disks or increasing the number of maintenance manager threads <code>--maintenance_manager_num_threads</code>.
-Generally, the recommended ratio of maintenance manager threads to data directories is 1:3.</p>
-</li>
-<li>
-<p>Reduce the volume of writes flowing to Kudu on the application side.</p>
-</li>
-</ul>
-</div>
-</div>
-<div class="sect2">
-<h3 id="heap_sampling"><a class="link" href="#heap_sampling">Heap Sampling</a></h3>
-<div class="paragraph">
-<p>For advanced debugging of memory usage, administrators may enable heap sampling on Kudu daemons.
-This allows Kudu developers to associate memory usage with the specific lines of code and data
-structures responsible. When reporting a bug related to memory usage or an apparent memory leak,
-heap profiling can give quantitative data to pinpoint the issue.</p>
-</div>
-<div class="admonitionblock warning">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-warning" title="Warning"></i>
-</td>
-<td class="content">
-Heap sampling is an advanced troubleshooting technique and may cause performance
-degradation or instability of the Kudu service. Currently it is not recommended to enable this
-in a production environment unless specifically requested by the Kudu development team.
-</td>
-</tr>
-</table>
-</div>
-<div class="paragraph">
-<p>To enable heap sampling on a Kudu daemon, pass the flag <code>--heap-sample-every-n-bytes=524588</code>.
-If heap sampling is enabled, the current sampled heap occupancy can be retrieved over HTTP
-by visiting <code><a href="http://tablet-server.example.com:8050/pprof/heap" class="bare">http://tablet-server.example.com:8050/pprof/heap</a></code> or
-<code><a href="http://master.example.com:8051/pprof/heap" class="bare">http://master.example.com:8051/pprof/heap</a></code>. The output is a machine-readable dump of the
-stack traces with their associated heap usage.</p>
-</div>
-<div class="paragraph">
-<p>Rather than visiting the heap profile page directly in a web browser, it is typically
-more useful to use the <code>pprof</code> tool that is distributed as part of the <code>gperftools</code>
-open source project. For example, a developer with a local build tree can use the
-following command to collect the sampled heap usage and output an SVG diagram:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre>thirdparty/installed/uninstrumented/bin/pprof -svg  'http://localhost:8051/pprof/heap' &gt; /tmp/heap.svg</pre>
-</div>
-</div>
-<div class="paragraph">
-<p>The resulting SVG may be visualized in a web browser or sent to the Kudu community to help
-troubleshoot memory occupancy issues.</p>
-</div>
-<div class="admonitionblock tip">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-tip" title="Tip"></i>
-</td>
-<td class="content">
-Heap samples contain only summary information about allocations and do not contain any
-<em>data</em> from the heap. It is safe to share heap samples in public without fear of exposing
-confidential or sensitive data.
-</td>
-</tr>
-</table>
-</div>
-</div>
-<div class="sect2">
-<h3 id="disk_issues"><a class="link" href="#disk_issues">Disk Issues</a></h3>
-<div class="paragraph">
-<p>When Kudu starts, it checks each configured data directory, expecting either for all to be
-initialized or for all to be empty. If a server fails to start with a log message like</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre>Check failed: _s.ok() Bad status: Already present: FS layout already exists; not overwriting existing layout: FSManager roots already exist: /data0/kudu/data</pre>
-</div>
-</div>
-<div class="paragraph">
-<p>then this precondition has failed. This could be because Kudu was configured with non-empty data
-directories on first startup, or because a previously-running, healthy Kudu process was restarted
-and at least one data directory was deleted or is somehow corrupted, perhaps because of a disk
-error. If in the latter situation, consult the
-<a href="administration.html#change_dir_config">Changing Directory Configurations</a> documentation.</p>
-</div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_issues_using_kudu"><a class="link" href="#_issues_using_kudu">Issues using Kudu</a></h2>
-<div class="sectionbody">
-<div class="sect2">
-<h3 id="hive_handler"><a class="link" href="#hive_handler">ClassNotFoundException: com.cloudera.kudu.hive.KuduStorageHandler</a></h3>
-<div class="paragraph">
-<p>Users will encounter this exception when trying to use a Kudu table via Hive. This
-is not a case of a missing jar, but simply that Impala stores Kudu metadata in
-Hive in a format that&#8217;s unreadable to other tools, including Hive itself and Spark.
-There is no workaround for Hive users. Spark users need to create temporary tables.</p>
-</div>
-</div>
-</div>
-</div>
-    </div>
-    <div class="col-md-3">
-
-  <div id="toc" data-spy="affix" data-offset-top="70">
-  <ul>
-
-      <li>
-
-          <a href="index.html">Introducing Kudu</a> 
-      </li> 
-      <li>
-
-          <a href="release_notes.html">Kudu Release Notes</a> 
-      </li> 
-      <li>
-
-          <a href="quickstart.html">Getting Started with Kudu</a> 
-      </li> 
-      <li>
-
-          <a href="installation.html">Installation Guide</a> 
-      </li> 
-      <li>
-
-          <a href="configuration.html">Configuring Kudu</a> 
-      </li> 
-      <li>
-
-          <a href="kudu_impala_integration.html">Using Impala with Kudu</a> 
-      </li> 
-      <li>
-
-          <a href="administration.html">Administering Kudu</a> 
-      </li> 
-      <li>
-<span class="active-toc">Troubleshooting Kudu</span>
-            <ul class="sectlevel1">
-<li><a href="#_startup_errors">Startup Errors</a>
-<ul class="sectlevel2">
-<li><a href="#req_hole_punching">Errors During Hole Punching Test</a></li>
-<li><a href="#ntp">NTP Clock Synchronization</a></li>
-</ul>
-</li>
-<li><a href="#crash_reporting">Reporting Kudu Crashes</a></li>
-<li><a href="#_performance_troubleshooting">Performance Troubleshooting</a>
-<ul class="sectlevel2">
-<li><a href="#kudu_tracing">Kudu Tracing</a></li>
-<li><a href="#_rpc_timeout_traces">RPC Timeout Traces</a></li>
-<li><a href="#_kernel_stack_watchdog_traces">Kernel Stack Watchdog Traces</a></li>
-<li><a href="#memory_limits">Memory Limits</a></li>
-<li><a href="#heap_sampling">Heap Sampling</a></li>
-<li><a href="#disk_issues">Disk Issues</a></li>
-</ul>
-</li>
-<li><a href="#_issues_using_kudu">Issues using Kudu</a>
-<ul class="sectlevel2">
-<li><a href="#hive_handler">ClassNotFoundException: com.cloudera.kudu.hive.KuduStorageHandler</a></li>
-</ul>
-</li>
-</ul> 
-      </li> 
-      <li>
-
-          <a href="developing.html">Developing Applications with Kudu</a> 
-      </li> 
-      <li>
-
-          <a href="schema_design.html">Kudu Schema Design</a> 
-      </li> 
-      <li>
-
-          <a href="security.html">Kudu Security</a> 
-      </li> 
-      <li>
-
-          <a href="transaction_semantics.html">Kudu Transaction Semantics</a> 
-      </li> 
-      <li>
-
-          <a href="background_tasks.html">Background Maintenance Tasks</a> 
-      </li> 
-      <li>
-
-          <a href="configuration_reference.html">Kudu Configuration Reference</a> 
-      </li> 
-      <li>
-
-          <a href="command_line_tools_reference.html">Kudu Command Line Tools Reference</a> 
-      </li> 
-      <li>
-
-          <a href="known_issues.html">Known Issues and Limitations</a> 
-      </li> 
-      <li>
-
-          <a href="contributing.html">Contributing to Kudu</a> 
-      </li> 
-      <li>
-
-          <a href="export_control.html">Export Control Notice</a> 
-      </li> 
-  </ul>
-  </div>
-    </div>
-  </div>
-</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/kudu/blob/1fefa84c/releases/1.8.0/apidocs/allclasses-frame.html
----------------------------------------------------------------------
diff --git a/releases/1.8.0/apidocs/allclasses-frame.html b/releases/1.8.0/apidocs/allclasses-frame.html
new file mode 100644
index 0000000..d8eee7d
--- /dev/null
+++ b/releases/1.8.0/apidocs/allclasses-frame.html
@@ -0,0 +1,96 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>All Classes (Kudu 1.8.0 API)</title>
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+</head>
+<body>
+<h1 class="bar">All&nbsp;Classes</h1>
+<div class="indexContainer">
+<ul>
+<li><a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client" target="classFrame">AbstractKuduScannerBuilder</a></li>
+<li><a href="org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client" target="classFrame">AlterTableOptions</a></li>
+<li><a href="org/apache/kudu/client/AlterTableResponse.html" title="class in org.apache.kudu.client" target="classFrame">AlterTableResponse</a></li>
+<li><a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client" target="classFrame">AsyncKuduClient</a></li>
+<li><a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client" target="classFrame">AsyncKuduClient.AsyncKuduClientBuilder</a></li>
+<li><a href="org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client" target="classFrame">AsyncKuduScanner</a></li>
+<li><a href="org/apache/kudu/client/AsyncKuduScanner.AsyncKuduScannerBuilder.html" title="class in org.apache.kudu.client" target="classFrame">AsyncKuduScanner.AsyncKuduScannerBuilder</a></li>
+<li><a href="org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client" target="classFrame">AsyncKuduScanner.ReadMode</a></li>
+<li><a href="org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client" target="classFrame">AsyncKuduSession</a></li>
+<li><a href="org/apache/kudu/flume/sink/AvroKuduOperationsProducer.html" title="class in org.apache.kudu.flume.sink" target="classFrame">AvroKuduOperationsProducer</a></li>
+<li><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.mapreduce.tools" target="classFrame">BigLinkedListCommon</a></li>
+<li><a href="org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util" target="classFrame">BloomFilter</a></li>
+<li><a href="org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client" target="classFrame">ColumnRangePredicate</a></li>
+<li><a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu" target="classFrame">ColumnSchema</a></li>
+<li><a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu" target="classFrame">ColumnSchema.ColumnSchemaBuilder</a></li>
+<li><a href="org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu" target="classFrame">ColumnSchema.CompressionAlgorithm</a></li>
+<li><a href="org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu" target="classFrame">ColumnSchema.Encoding</a></li>
+<li><a href="org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu" target="classFrame">ColumnTypeAttributes</a></li>
+<li><a href="org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu" target="classFrame">ColumnTypeAttributes.ColumnTypeAttributesBuilder</a></li>
+<li><a href="org/apache/kudu/mapreduce/CommandLineParser.html" title="class in org.apache.kudu.mapreduce" target="classFrame">CommandLineParser</a></li>
+<li><a href="org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client" target="classFrame">CreateTableOptions</a></li>
+<li><a href="org/apache/kudu/mapreduce/tools/CsvParser.html" title="class in org.apache.kudu.mapreduce.tools" target="classFrame">CsvParser</a></li>
+<li><a href="org/apache/kudu/client/Delete.html" title="class in org.apache.kudu.client" target="classFrame">Delete</a></li>
+<li><a href="org/apache/kudu/client/DeleteTableResponse.html" title="class in org.apache.kudu.client" target="classFrame">DeleteTableResponse</a></li>
+<li><a href="org/apache/kudu/mapreduce/tools/ExportCsv.html" title="class in org.apache.kudu.mapreduce.tools" target="classFrame">ExportCsv</a></li>
+<li><a href="org/apache/kudu/client/ExternalConsistencyMode.html" title="enum in org.apache.kudu.client" target="classFrame">ExternalConsistencyMode</a></li>
+<li><a href="org/apache/kudu/client/HasFailedRpcException.html" title="interface in org.apache.kudu.client" target="classFrame"><span class="interfaceName">HasFailedRpcException</span></a></li>
+<li><a href="org/apache/kudu/mapreduce/tools/ImportCsv.html" title="class in org.apache.kudu.mapreduce.tools" target="classFrame">ImportCsv</a></li>
+<li><a href="org/apache/kudu/mapreduce/tools/ImportParquet.html" title="class in org.apache.kudu.mapreduce.tools" target="classFrame">ImportParquet</a></li>
+<li><a href="org/apache/kudu/client/Insert.html" title="class in org.apache.kudu.client" target="classFrame">Insert</a></li>
+<li><a href="org/apache/kudu/client/IsAlterTableDoneResponse.html" title="class in org.apache.kudu.client" target="classFrame">IsAlterTableDoneResponse</a></li>
+<li><a href="org/apache/kudu/client/IsCreateTableDoneResponse.html" title="class in org.apache.kudu.client" target="classFrame">IsCreateTableDoneResponse</a></li>
+<li><a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client" target="classFrame">KuduClient</a></li>
+<li><a href="org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client" target="classFrame">KuduClient.KuduClientBuilder</a></li>
+<li><a href="org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client" target="classFrame">KuduException</a></li>
+<li><a href="org/apache/kudu/client/KuduException.OriginalException.html" title="class in org.apache.kudu.client" target="classFrame">KuduException.OriginalException</a></li>
+<li><a href="org/apache/kudu/flume/sink/KuduOperationsProducer.html" title="interface in org.apache.kudu.flume.sink" target="classFrame"><span class="interfaceName">KuduOperationsProducer</span></a></li>
+<li><a href="org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client" target="classFrame">KuduPredicate</a></li>
+<li><a href="org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client" target="classFrame">KuduPredicate.ComparisonOp</a></li>
+<li><a href="org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client" target="classFrame">KuduScanner</a></li>
+<li><a href="org/apache/kudu/client/KuduScanner.KuduScannerBuilder.html" title="class in org.apache.kudu.client" target="classFrame">KuduScanner.KuduScannerBuilder</a></li>
+<li><a href="org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client" target="classFrame">KuduScanToken</a></li>
+<li><a href="org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client" target="classFrame">KuduScanToken.KuduScanTokenBuilder</a></li>
+<li><a href="org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client" target="classFrame">KuduSession</a></li>
+<li><a href="org/apache/kudu/flume/sink/KuduSink.html" title="class in org.apache.kudu.flume.sink" target="classFrame">KuduSink</a></li>
+<li><a href="org/apache/kudu/flume/sink/KuduSinkConfigurationConstants.html" title="class in org.apache.kudu.flume.sink" target="classFrame">KuduSinkConfigurationConstants</a></li>
+<li><a href="org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client" target="classFrame">KuduTable</a></li>
+<li><a href="org/apache/kudu/mapreduce/KuduTableInputFormat.html" title="class in org.apache.kudu.mapreduce" target="classFrame">KuduTableInputFormat</a></li>
+<li><a href="org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html" title="class in org.apache.kudu.mapreduce" target="classFrame">KuduTableMapReduceUtil</a></li>
+<li><a href="org/apache/kudu/mapreduce/KuduTableOutputCommitter.html" title="class in org.apache.kudu.mapreduce" target="classFrame">KuduTableOutputCommitter</a></li>
+<li><a href="org/apache/kudu/mapreduce/KuduTableOutputFormat.html" title="class in org.apache.kudu.mapreduce" target="classFrame">KuduTableOutputFormat</a></li>
+<li><a href="org/apache/kudu/client/ListTablesResponse.html" title="class in org.apache.kudu.client" target="classFrame">ListTablesResponse</a></li>
+<li><a href="org/apache/kudu/client/ListTabletServersResponse.html" title="class in org.apache.kudu.client" target="classFrame">ListTabletServersResponse</a></li>
+<li><a href="org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client" target="classFrame">LocatedTablet</a></li>
+<li><a href="org/apache/kudu/client/LocatedTablet.Replica.html" title="class in org.apache.kudu.client" target="classFrame">LocatedTablet.Replica</a></li>
+<li><a href="org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client" target="classFrame">Operation</a></li>
+<li><a href="org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client" target="classFrame">OperationResponse</a></li>
+<li><a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client" target="classFrame">PartialRow</a></li>
+<li><a href="org/apache/kudu/client/PleaseThrottleException.html" title="class in org.apache.kudu.client" target="classFrame">PleaseThrottleException</a></li>
+<li><a href="org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client" target="classFrame">RangePartitionBound</a></li>
+<li><a href="org/apache/kudu/flume/sink/RegexpKuduOperationsProducer.html" title="class in org.apache.kudu.flume.sink" target="classFrame">RegexpKuduOperationsProducer</a></li>
+<li><a href="org/apache/kudu/client/ReplicaSelection.html" title="enum in org.apache.kudu.client" target="classFrame">ReplicaSelection</a></li>
+<li><a href="org/apache/kudu/client/RowError.html" title="class in org.apache.kudu.client" target="classFrame">RowError</a></li>
+<li><a href="org/apache/kudu/client/RowErrorsAndOverflowStatus.html" title="class in org.apache.kudu.client" target="classFrame">RowErrorsAndOverflowStatus</a></li>
+<li><a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client" target="classFrame">RowResult</a></li>
+<li><a href="org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client" target="classFrame">RowResultIterator</a></li>
+<li><a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu" target="classFrame">Schema</a></li>
+<li><a href="org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client" target="classFrame"><span class="interfaceName">SessionConfiguration</span></a></li>
+<li><a href="org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client" target="classFrame">SessionConfiguration.FlushMode</a></li>
+<li><a href="org/apache/kudu/flume/sink/SimpleKeyedKuduOperationsProducer.html" title="class in org.apache.kudu.flume.sink" target="classFrame">SimpleKeyedKuduOperationsProducer</a></li>
+<li><a href="org/apache/kudu/flume/sink/SimpleKuduOperationsProducer.html" title="class in org.apache.kudu.flume.sink" target="classFrame">SimpleKuduOperationsProducer</a></li>
+<li><a href="org/apache/kudu/client/Statistics.html" title="class in org.apache.kudu.client" target="classFrame">Statistics</a></li>
+<li><a href="org/apache/kudu/client/Statistics.Statistic.html" title="enum in org.apache.kudu.client" target="classFrame">Statistics.Statistic</a></li>
+<li><a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client" target="classFrame">Status</a></li>
+<li><a href="org/apache/kudu/mapreduce/TableReducer.html" title="class in org.apache.kudu.mapreduce" target="classFrame">TableReducer</a></li>
+<li><a href="org/apache/kudu/Type.html" title="enum in org.apache.kudu" target="classFrame">Type</a></li>
+<li><a href="org/apache/kudu/client/Update.html" title="class in org.apache.kudu.client" target="classFrame">Update</a></li>
+<li><a href="org/apache/kudu/client/Upsert.html" title="class in org.apache.kudu.client" target="classFrame">Upsert</a></li>
+</ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/kudu/blob/1fefa84c/releases/1.8.0/apidocs/allclasses-noframe.html
----------------------------------------------------------------------
diff --git a/releases/1.8.0/apidocs/allclasses-noframe.html b/releases/1.8.0/apidocs/allclasses-noframe.html
new file mode 100644
index 0000000..28a6fac
--- /dev/null
+++ b/releases/1.8.0/apidocs/allclasses-noframe.html
@@ -0,0 +1,96 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>All Classes (Kudu 1.8.0 API)</title>
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+</head>
+<body>
+<h1 class="bar">All&nbsp;Classes</h1>
+<div class="indexContainer">
+<ul>
+<li><a href="org/apache/kudu/client/AbstractKuduScannerBuilder.html" title="class in org.apache.kudu.client">AbstractKuduScannerBuilder</a></li>
+<li><a href="org/apache/kudu/client/AlterTableOptions.html" title="class in org.apache.kudu.client">AlterTableOptions</a></li>
+<li><a href="org/apache/kudu/client/AlterTableResponse.html" title="class in org.apache.kudu.client">AlterTableResponse</a></li>
+<li><a href="org/apache/kudu/client/AsyncKuduClient.html" title="class in org.apache.kudu.client">AsyncKuduClient</a></li>
+<li><a href="org/apache/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client">AsyncKuduClient.AsyncKuduClientBuilder</a></li>
+<li><a href="org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client">AsyncKuduScanner</a></li>
+<li><a href="org/apache/kudu/client/AsyncKuduScanner.AsyncKuduScannerBuilder.html" title="class in org.apache.kudu.client">AsyncKuduScanner.AsyncKuduScannerBuilder</a></li>
+<li><a href="org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.ReadMode</a></li>
+<li><a href="org/apache/kudu/client/AsyncKuduSession.html" title="class in org.apache.kudu.client">AsyncKuduSession</a></li>
+<li><a href="org/apache/kudu/flume/sink/AvroKuduOperationsProducer.html" title="class in org.apache.kudu.flume.sink">AvroKuduOperationsProducer</a></li>
+<li><a href="org/apache/kudu/mapreduce/tools/BigLinkedListCommon.html" title="class in org.apache.kudu.mapreduce.tools">BigLinkedListCommon</a></li>
+<li><a href="org/apache/kudu/util/BloomFilter.html" title="class in org.apache.kudu.util">BloomFilter</a></li>
+<li><a href="org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client">ColumnRangePredicate</a></li>
+<li><a href="org/apache/kudu/ColumnSchema.html" title="class in org.apache.kudu">ColumnSchema</a></li>
+<li><a href="org/apache/kudu/ColumnSchema.ColumnSchemaBuilder.html" title="class in org.apache.kudu">ColumnSchema.ColumnSchemaBuilder</a></li>
+<li><a href="org/apache/kudu/ColumnSchema.CompressionAlgorithm.html" title="enum in org.apache.kudu">ColumnSchema.CompressionAlgorithm</a></li>
+<li><a href="org/apache/kudu/ColumnSchema.Encoding.html" title="enum in org.apache.kudu">ColumnSchema.Encoding</a></li>
+<li><a href="org/apache/kudu/ColumnTypeAttributes.html" title="class in org.apache.kudu">ColumnTypeAttributes</a></li>
+<li><a href="org/apache/kudu/ColumnTypeAttributes.ColumnTypeAttributesBuilder.html" title="class in org.apache.kudu">ColumnTypeAttributes.ColumnTypeAttributesBuilder</a></li>
+<li><a href="org/apache/kudu/mapreduce/CommandLineParser.html" title="class in org.apache.kudu.mapreduce">CommandLineParser</a></li>
+<li><a href="org/apache/kudu/client/CreateTableOptions.html" title="class in org.apache.kudu.client">CreateTableOptions</a></li>
+<li><a href="org/apache/kudu/mapreduce/tools/CsvParser.html" title="class in org.apache.kudu.mapreduce.tools">CsvParser</a></li>
+<li><a href="org/apache/kudu/client/Delete.html" title="class in org.apache.kudu.client">Delete</a></li>
+<li><a href="org/apache/kudu/client/DeleteTableResponse.html" title="class in org.apache.kudu.client">DeleteTableResponse</a></li>
+<li><a href="org/apache/kudu/mapreduce/tools/ExportCsv.html" title="class in org.apache.kudu.mapreduce.tools">ExportCsv</a></li>
+<li><a href="org/apache/kudu/client/ExternalConsistencyMode.html" title="enum in org.apache.kudu.client">ExternalConsistencyMode</a></li>
+<li><a href="org/apache/kudu/client/HasFailedRpcException.html" title="interface in org.apache.kudu.client"><span class="interfaceName">HasFailedRpcException</span></a></li>
+<li><a href="org/apache/kudu/mapreduce/tools/ImportCsv.html" title="class in org.apache.kudu.mapreduce.tools">ImportCsv</a></li>
+<li><a href="org/apache/kudu/mapreduce/tools/ImportParquet.html" title="class in org.apache.kudu.mapreduce.tools">ImportParquet</a></li>
+<li><a href="org/apache/kudu/client/Insert.html" title="class in org.apache.kudu.client">Insert</a></li>
+<li><a href="org/apache/kudu/client/IsAlterTableDoneResponse.html" title="class in org.apache.kudu.client">IsAlterTableDoneResponse</a></li>
+<li><a href="org/apache/kudu/client/IsCreateTableDoneResponse.html" title="class in org.apache.kudu.client">IsCreateTableDoneResponse</a></li>
+<li><a href="org/apache/kudu/client/KuduClient.html" title="class in org.apache.kudu.client">KuduClient</a></li>
+<li><a href="org/apache/kudu/client/KuduClient.KuduClientBuilder.html" title="class in org.apache.kudu.client">KuduClient.KuduClientBuilder</a></li>
+<li><a href="org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></li>
+<li><a href="org/apache/kudu/client/KuduException.OriginalException.html" title="class in org.apache.kudu.client">KuduException.OriginalException</a></li>
+<li><a href="org/apache/kudu/flume/sink/KuduOperationsProducer.html" title="interface in org.apache.kudu.flume.sink"><span class="interfaceName">KuduOperationsProducer</span></a></li>
+<li><a href="org/apache/kudu/client/KuduPredicate.html" title="class in org.apache.kudu.client">KuduPredicate</a></li>
+<li><a href="org/apache/kudu/client/KuduPredicate.ComparisonOp.html" title="enum in org.apache.kudu.client">KuduPredicate.ComparisonOp</a></li>
+<li><a href="org/apache/kudu/client/KuduScanner.html" title="class in org.apache.kudu.client">KuduScanner</a></li>
+<li><a href="org/apache/kudu/client/KuduScanner.KuduScannerBuilder.html" title="class in org.apache.kudu.client">KuduScanner.KuduScannerBuilder</a></li>
+<li><a href="org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client">KuduScanToken</a></li>
+<li><a href="org/apache/kudu/client/KuduScanToken.KuduScanTokenBuilder.html" title="class in org.apache.kudu.client">KuduScanToken.KuduScanTokenBuilder</a></li>
+<li><a href="org/apache/kudu/client/KuduSession.html" title="class in org.apache.kudu.client">KuduSession</a></li>
+<li><a href="org/apache/kudu/flume/sink/KuduSink.html" title="class in org.apache.kudu.flume.sink">KuduSink</a></li>
+<li><a href="org/apache/kudu/flume/sink/KuduSinkConfigurationConstants.html" title="class in org.apache.kudu.flume.sink">KuduSinkConfigurationConstants</a></li>
+<li><a href="org/apache/kudu/client/KuduTable.html" title="class in org.apache.kudu.client">KuduTable</a></li>
+<li><a href="org/apache/kudu/mapreduce/KuduTableInputFormat.html" title="class in org.apache.kudu.mapreduce">KuduTableInputFormat</a></li>
+<li><a href="org/apache/kudu/mapreduce/KuduTableMapReduceUtil.html" title="class in org.apache.kudu.mapreduce">KuduTableMapReduceUtil</a></li>
+<li><a href="org/apache/kudu/mapreduce/KuduTableOutputCommitter.html" title="class in org.apache.kudu.mapreduce">KuduTableOutputCommitter</a></li>
+<li><a href="org/apache/kudu/mapreduce/KuduTableOutputFormat.html" title="class in org.apache.kudu.mapreduce">KuduTableOutputFormat</a></li>
+<li><a href="org/apache/kudu/client/ListTablesResponse.html" title="class in org.apache.kudu.client">ListTablesResponse</a></li>
+<li><a href="org/apache/kudu/client/ListTabletServersResponse.html" title="class in org.apache.kudu.client">ListTabletServersResponse</a></li>
+<li><a href="org/apache/kudu/client/LocatedTablet.html" title="class in org.apache.kudu.client">LocatedTablet</a></li>
+<li><a href="org/apache/kudu/client/LocatedTablet.Replica.html" title="class in org.apache.kudu.client">LocatedTablet.Replica</a></li>
+<li><a href="org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">Operation</a></li>
+<li><a href="org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client">OperationResponse</a></li>
+<li><a href="org/apache/kudu/client/PartialRow.html" title="class in org.apache.kudu.client">PartialRow</a></li>
+<li><a href="org/apache/kudu/client/PleaseThrottleException.html" title="class in org.apache.kudu.client">PleaseThrottleException</a></li>
+<li><a href="org/apache/kudu/client/RangePartitionBound.html" title="enum in org.apache.kudu.client">RangePartitionBound</a></li>
+<li><a href="org/apache/kudu/flume/sink/RegexpKuduOperationsProducer.html" title="class in org.apache.kudu.flume.sink">RegexpKuduOperationsProducer</a></li>
+<li><a href="org/apache/kudu/client/ReplicaSelection.html" title="enum in org.apache.kudu.client">ReplicaSelection</a></li>
+<li><a href="org/apache/kudu/client/RowError.html" title="class in org.apache.kudu.client">RowError</a></li>
+<li><a href="org/apache/kudu/client/RowErrorsAndOverflowStatus.html" title="class in org.apache.kudu.client">RowErrorsAndOverflowStatus</a></li>
+<li><a href="org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client">RowResult</a></li>
+<li><a href="org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client">RowResultIterator</a></li>
+<li><a href="org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></li>
+<li><a href="org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client"><span class="interfaceName">SessionConfiguration</span></a></li>
+<li><a href="org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client">SessionConfiguration.FlushMode</a></li>
+<li><a href="org/apache/kudu/flume/sink/SimpleKeyedKuduOperationsProducer.html" title="class in org.apache.kudu.flume.sink">SimpleKeyedKuduOperationsProducer</a></li>
+<li><a href="org/apache/kudu/flume/sink/SimpleKuduOperationsProducer.html" title="class in org.apache.kudu.flume.sink">SimpleKuduOperationsProducer</a></li>
+<li><a href="org/apache/kudu/client/Statistics.html" title="class in org.apache.kudu.client">Statistics</a></li>
+<li><a href="org/apache/kudu/client/Statistics.Statistic.html" title="enum in org.apache.kudu.client">Statistics.Statistic</a></li>
+<li><a href="org/apache/kudu/client/Status.html" title="class in org.apache.kudu.client">Status</a></li>
+<li><a href="org/apache/kudu/mapreduce/TableReducer.html" title="class in org.apache.kudu.mapreduce">TableReducer</a></li>
+<li><a href="org/apache/kudu/Type.html" title="enum in org.apache.kudu">Type</a></li>
+<li><a href="org/apache/kudu/client/Update.html" title="class in org.apache.kudu.client">Update</a></li>
+<li><a href="org/apache/kudu/client/Upsert.html" title="class in org.apache.kudu.client">Upsert</a></li>
+</ul>
+</div>
+</body>
+</html>