kudu-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From t...@apache.org
Subject [30/52] [partial] kudu git commit: Add 1.4.0 release docs and links
Date Thu, 15 Jun 2017 16:59:06 GMT
http://git-wip-us.apache.org/repos/asf/kudu/blob/ce7ab97e/docs/prior_release_notes.html
----------------------------------------------------------------------
diff --git a/docs/prior_release_notes.html b/docs/prior_release_notes.html
index 25b35b5..5ddefb8 100644
--- a/docs/prior_release_notes.html
+++ b/docs/prior_release_notes.html
@@ -2,7 +2,7 @@
 title: Apache Kudu Prior Version Release Notes
 layout: default
 active_nav: docs
-last_updated: 'Last updated 2017-04-10 16:00:03 PDT'
+last_updated: 'Last updated 2017-05-31 14:43:27 PDT'
 ---
 <!--
 
@@ -49,6 +49,284 @@ for a list of known issues and limitations.
 </div>
 </div>
 <div class="sect1">
+<h2 id="rn_1.3.0"><a class="link" href="#rn_1.3.0">Release notes specific to 1.3.0</a></h2>
+<div class="sectionbody">
+
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.3.0_new_features"><a class="link" href="#rn_1.3.0_new_features">New features</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Kudu 1.3 adds support for strong authentication based on Kerberos. This optional feature
+allows users to authenticate themselves using Kerberos tickets, and also provides
+mutual authentication of servers using Kerberos credentials stored in keytabs. This
+feature is optional, but recommended for deployments requiring security.</p>
+</li>
+<li>
+<p>Kudu 1.3 adds support for encryption of data on the network using Transport Layer Security
+(TLS). Kudu will now use TLS to encrypt all network traffic between clients and servers as
+well as any internal traffic among servers, with the exception of traffic determined to
+be within a localhost network connection. Encryption is enabled by default whenever it can
+be determined that both the client and server support the feature.</p>
+</li>
+<li>
+<p>Kudu 1.3 adds coarse-grained service-level authorization of access to the cluster.
+The operator may set up lists of permitted users who may act as administrators and
+as clients of the cluster. Combined with the strong authentication feature described
+above, this can enable a secure environment for some use cases. Note that fine-grained
+access control (e.g. table-level or column-level) is not yet supported.</p>
+</li>
+<li>
+<p>Kudu 1.3 adds a background task to tablet servers which removes historical versions of
+data which have fallen behind the configured data retention time. This reduces disk space
+usage in all workloads, but particularly in those with a higher volume of updates or
+upserts.</p>
+</li>
+<li>
+<p>Kudu now incorporates Google Breakpad, a library which writes crash reports in
+the case of a server crash. These reports can be found within the configured log directory,
+and can be useful during bug diagnosis.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_optimizations_and_improvements"><a class="link" href="#_optimizations_and_improvements">Optimizations and improvements</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Kudu servers will now change the file permissions of data directories and contained
+data files based on a new configuration flag <code>--umask</code>. As a result, after upgrading,
+permissions on disk may be more restrictive than in previous versions. The new default
+configuration improves data security.</p>
+</li>
+<li>
+<p>Kudu&#8217;s web UI will now redact strings which may include sensitive user data. For example,
+the monitoring page which shows in-progress scans no longer includes the scanner predicate
+values. The tracing and RPC diagnostics endpoints no longer include contents of RPCs which
+may include table data.</p>
+</li>
+<li>
+<p>By default, Kudu now reserves 1% of each configured data volume as free space. If a volume
+is seen to have less than 1% of disk space free, Kudu will stop writing to that volume
+to avoid completely filling up the disk.</p>
+</li>
+<li>
+<p>The default encoding for numeric columns (int, float, and double) has been changed
+to <code>BIT_SHUFFLE</code>. The default encoding for binary and string columns has been
+changed to <code>DICT_ENCODING</code>. Dictionary encoding automatically falls back to the old
+default (<code>PLAIN</code>) when cardinality is too high to be effectively encoded.</p>
+<div class="paragraph">
+<p>These new defaults match the default behavior of other storage mechanisms such as
+  Apache Parquet and are likely to perform better out of the box.</p>
+</div>
+</li>
+<li>
+<p>Kudu now uses <code>LZ4</code> compression when writing its Write Ahead Log (WAL). This improves
+write performance and stability for many use cases.</p>
+</li>
+<li>
+<p>Kudu now uses <code>LZ4</code> compression when writing delta files. This can improve both
+read and write performance as well as save substantial disk usage, especially
+for workloads involving a high number of updates or upserts containing compressible
+data.</p>
+</li>
+<li>
+<p>The Kudu API now supports the ability to express <code>IS NULL</code> and <code>IS NOT NULL</code> predicates
+on scanners. The Spark DataSource integration will take advantage of these new
+predicates when possible.</p>
+</li>
+<li>
+<p>Both C++ and Java clients have been optimized to prune partitions more effectively
+when performing scans using the <code>IN (&#8230;&#8203;)</code> predicate.</p>
+</li>
+<li>
+<p>The exception messages produced by the Java client are now truncated to a maximum length
+of 32KB.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.3.0_fixed_issues"><a class="link" href="#rn_1.3.0_fixed_issues">Fixed Issues</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1893">KUDU-1893</a>
+Fixed a critical bug in which wrong results would be returned when evaluating
+predicates applied to columns added using the <code>ALTER TABLE</code> operation.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1905">KUDU-1905</a>
+Fixed a crash after inserting a row sharing a primary key with a recently-deleted
+row in tables where the primary key is comprised of all of the columns.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1899">KUDU-1899</a>
+Fixed a crash after inserting a row with an empty string as the single-column
+primary key.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1904">KUDU-1904</a>
+Fixed a potential crash when performing random reads against a column using RLE
+encoding and containing long runs of NULL values.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1853">KUDU-1853</a>
+Fixed an issue where disk space could be leaked on servers which experienced an error
+during the process of copying tablet data from another server.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1856">KUDU-1856</a>
+Fixed an issue in which disk space could be leaked by Kudu servers storing data on
+partitions using the XFS file system. Any leaked disk space will be automatically
+recovered upon upgrade.</p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1888">KUDU-1888</a>,
+<a href="https://issues.apache.org/jira/browse/KUDU-1906">KUDU-1906</a>
+Fixed multiple issues in the Java client where operation callbacks would never be
+triggered, causing the client to hang.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.3.0_wire_compatibility"><a class="link" href="#rn_1.3.0_wire_compatibility">Wire Protocol compatibility</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Kudu 1.3.0 is wire-compatible with previous versions of Kudu:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Kudu 1.3 clients may connect to servers running Kudu 1.0. If the client uses features
+that are not available on the target server, an error will be returned.</p>
+</li>
+<li>
+<p>Kudu 1.0 clients may connect to servers running Kudu 1.3 with the exception of the
+below-mentioned restrictions regarding secure clusters.</p>
+</li>
+<li>
+<p>Rolling upgrade between Kudu 1.2 and Kudu 1.3 servers is believed to be possible
+though has not been sufficiently tested. Users are encouraged to shut down all nodes
+in the cluster, upgrade the software, and then restart the daemons on the new version.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The authentication features newly introduced in Kudu 1.3 place the following limitations
+on wire compatibility with older versions:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>If a Kudu 1.3 cluster is configured with authentication or encryption set to "required",
+older clients will be unable to connect.</p>
+</li>
+<li>
+<p>If a Kudu 1.3 cluster is configured with authentication and encryption set to "optional"
+or "disabled", older clients will still be able to connect.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="rn_1.3.0_incompatible_changes"><a class="link" href="#rn_1.3.0_incompatible_changes">Incompatible Changes in Kudu 1.3.0</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Due to storage format changes in Kudu 1.3, downgrade from Kudu 1.3 to earlier versions
+is not supported. After upgrading to Kudu 1.3, attempting to restart with an earlier
+version will result in an error.</p>
+</li>
+<li>
+<p>In order to support running MapReduce and Spark jobs on secure clusters, these
+frameworks now connect to the cluster at job submission time to retrieve authentication
+credentials which can later be used by the tasks to be spawned. This means that
+the process submitting jobs to Kudu clusters must have direct access to that cluster.</p>
+</li>
+<li>
+<p>The embedded web servers in Kudu processes now specify the <code>X-Frame-Options: DENY</code> HTTP
+header which prevents embedding Kudu web pages in HTML <code>iframe</code> elements.</p>
+</li>
+</ul>
+</div>
+<div class="sect2">
+<h3 id="rn_1.3.0_client_compatibility"><a class="link" href="#rn_1.3.0_client_compatibility">Client Library Compatibility</a></h3>
+<div class="ulist">
+<ul>
+<li>
+<p>The Kudu 1.3 Java client library is API- and ABI-compatible with Kudu 1.2. Applications
+written against Kudu 1.2 will compile and run against the Kudu 1.3 client library and
+vice-versa, unless one of the following newly added APIs is used:</p>
+<div class="ulist">
+<ul>
+<li>
+<p><code>[Async]KuduClient.exportAuthenticationCredentials(&#8230;&#8203;)</code> (unstable API)</p>
+</li>
+<li>
+<p><code>[Async]KuduClient.importAuthenticationCredentials(&#8230;&#8203;)</code> (unstable API)</p>
+</li>
+<li>
+<p><code>[Async]KuduClient.getMasterAddressesAsString()</code></p>
+</li>
+<li>
+<p><code>KuduPredicate.newIsNotNullPredicate()</code></p>
+</li>
+<li>
+<p><code>KuduPredicate.newIsNullPredicate()</code></p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>The Kudu 1.3 C++ client is API- and ABI-forward-compatible with Kudu 1.2.
+Applications written and compiled against the Kudu 1.2 client library will run without
+modification against the Kudu 1.3 client library. Applications written and compiled
+against the Kudu 1.3 client library will run without modification against the Kudu 1.2
+client library unless they use one of the following new APIs:</p>
+<div class="ulist">
+<ul>
+<li>
+<p><code>kudu::DisableOpenSSLInitialization()</code></p>
+</li>
+<li>
+<p><code>KuduClientBuilder::import_authentication_credentials(&#8230;&#8203;)</code></p>
+</li>
+<li>
+<p><code>KuduClient::ExportAuthenticationCredentials(&#8230;&#8203;)</code></p>
+</li>
+<li>
+<p><code>KuduClient::NewIsNotNullPredicate(&#8230;&#8203;)</code></p>
+</li>
+<li>
+<p><code>KuduClient::NewIsNullPredicate(&#8230;&#8203;)</code></p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>The Kudu 1.3 Python client is API-compatible with Kudu 1.2. Applications
+written against Kudu 1.2 will continue to run against the Kudu 1.3 client
+and vice-versa.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
 <h2 id="rn_1.2.0"><a class="link" href="#rn_1.2.0">Release notes specific to 1.2.0</a></h2>
 <div class="sectionbody">
 
@@ -118,7 +396,7 @@ at each severity level.</p>
 </div>
 </div>
 <div class="sect1">
-<h2 id="_optimizations_and_improvements"><a class="link" href="#_optimizations_and_improvements">Optimizations and improvements</a></h2>
+<h2 id="_optimizations_and_improvements_2"><a class="link" href="#_optimizations_and_improvements_2">Optimizations and improvements</a></h2>
 <div class="sectionbody">
 <div class="ulist">
 <ul>
@@ -413,7 +691,7 @@ programmatically queryable.</p>
 </div>
 </div>
 <div class="sect1">
-<h2 id="_optimizations_and_improvements_2"><a class="link" href="#_optimizations_and_improvements_2">Optimizations and improvements</a></h2>
+<h2 id="_optimizations_and_improvements_3"><a class="link" href="#_optimizations_and_improvements_3">Optimizations and improvements</a></h2>
 <div class="sectionbody">
 <div class="ulist">
 <ul>
@@ -662,7 +940,7 @@ This can provide higher throughput for ingest workloads.</p>
 </div>
 </div>
 <div class="sect2">
-<h3 id="_optimizations_and_improvements_3"><a class="link" href="#_optimizations_and_improvements_3">Optimizations and improvements</a></h3>
+<h3 id="_optimizations_and_improvements_4"><a class="link" href="#_optimizations_and_improvements_4">Optimizations and improvements</a></h3>
 <div class="ulist">
 <ul>
 <li>

http://git-wip-us.apache.org/repos/asf/kudu/blob/ce7ab97e/docs/release_notes.html
----------------------------------------------------------------------
diff --git a/docs/release_notes.html b/docs/release_notes.html
index 4766d20..2ab7971 100644
--- a/docs/release_notes.html
+++ b/docs/release_notes.html
@@ -1,8 +1,8 @@
 ---
-title: Apache Kudu 1.3.1 Release Notes
+title: Apache Kudu 1.4.0 Release Notes
 layout: default
 active_nav: docs
-last_updated: 'Last updated 2017-05-15 12:38:04 PDT'
+last_updated: 'Last updated 2017-06-08 18:46:50 PDT'
 ---
 <!--
 
@@ -24,84 +24,57 @@ limitations under the License.
   <div class="row">
     <div class="col-md-9">
 
-<h1>Apache Kudu 1.3.1 Release Notes</h1>
-      <div id="preamble">
+<h1>Apache Kudu 1.4.0 Release Notes</h1>
+      <div class="sect1">
+<h2 id="rn_1.4.0_new_features"><a class="link" href="#rn_1.4.0_new_features">New features</a></h2>
 <div class="sectionbody">
-<div id="rn_1.3.1" class="paragraph">
-<p>Apache Kudu 1.3.1 is a bug-fix release which fixes critical issues in Kudu 1.3.0.</p>
-</div>
 <div class="ulist">
 <ul>
 <li>
-<p><a href="https://issues.apache.org/jira/browse/KUDU-1962">KUDU-1962</a>
-Fixed a NullPointerException in the Java client in the case that the Kudu master
-is overloaded at the time the client requests location information. This could
-cause client applications to hang indefinitely regardless of configured timeouts.</p>
-</li>
-<li>
-<p><a href="https://issues.apache.org/jira/browse/KUDU-1963">KUDU-1963</a>
-Fixed cases in which the Java client could log NullPointerException or
-SSLException stack traces in the case that it was closed while in the process
-of connecting to a server.</p>
-</li>
-<li>
-<p><a href="https://issues.apache.org/jira/browse/KUDU-1607">KUDU-1607</a>
-Fixed a case in which a tablet replica on a tablet server could retain blocks
-of data which prevented it from being fully deleted.</p>
+<p>The C++ and Java client libraries now support the ability to alter the
+storage attributes (e.g. encoding and compression) and default value
+of existing columns. Additionally, it is now possible to rename
+a column which is part of a table&#8217;s primary key.</p>
 </li>
 <li>
-<p><a href="https://issues.apache.org/jira/browse/KUDU-1933">KUDU-1933</a>
-Fixed an issue in which a tablet server would crash and fail to restart after
-a single tablet received more than two billion write operations. Upgrading to
-Kudu 1.3.1 or later will allow a server which previously experienced this
-issue to restart.</p>
+<p>The C++ client library now includes an experimental <code>KuduPartitioner</code> API which may
+be used to efficiently map rows to their associated partitions and hosts.
+This may be used to achieve better locality or distribution of writes
+in client applications.</p>
 </li>
 <li>
-<p><a href="https://issues.apache.org/jira/browse/KUDU-1968">KUDU-1968</a>
-Fixed an issue in which the tablet server would delete an incorrect set of
-data blocks after an aborted attempt to copy a tablet from another server.
-This would produce data loss in unrelated tablets.</p>
-</li>
-</ul>
-</div>
-</div>
-</div>
-<h1 id="_apache_kudu_1_3_0_release_notes" class="sect0"><a class="link" href="#_apache_kudu_1_3_0_release_notes">Apache Kudu 1.3.0 Release Notes</a></h1>
-<div class="sect1">
-<h2 id="rn_1.3.0_new_features"><a class="link" href="#rn_1.3.0_new_features">New features</a></h2>
-<div class="sectionbody">
-<div class="ulist">
-<ul>
-<li>
-<p>Kudu 1.3 adds support for strong authentication based on Kerberos. This optional feature
-allows users to authenticate themselves using Kerberos tickets, and also provides
-mutual authentication of servers using Kerberos credentials stored in keytabs. This
-feature is optional, but recommended for deployments requiring security.</p>
+<p>The Java client library now supports enabling fault tolerance on scanners.
+Fault tolerant scanners are able to transparently recover from concurrent
+server crashes at the cost of some performance overhead. See the Java
+API documentation for more details on usage.</p>
 </li>
 <li>
-<p>Kudu 1.3 adds support for encryption of data on the network using Transport Layer Security
-(TLS). Kudu will now use TLS to encrypt all network traffic between clients and servers as
-well as any internal traffic among servers, with the exception of traffic determined to
-be within a localhost network connection. Encryption is enabled by default whenever it can
-be determined that both the client and server support the feature.</p>
+<p>The <code>kudu</code> command line tool now includes a new advanced administrative
+command <code>kudu remote_replica unsafe_change_config</code>. This command may be used
+to force a tablet to perform an unsafe change of its Raft replication
+configuration. This can be used to recover from scenarios such as a loss
+of a majority of replicas, at the risk of losing edits.</p>
 </li>
 <li>
-<p>Kudu 1.3 adds coarse-grained service-level authorization of access to the cluster.
-The operator may set up lists of permitted users who may act as administrators and
-as clients of the cluster. Combined with the strong authentication feature described
-above, this can enable a secure environment for some use cases. Note that fine-grained
-access control (e.g. table-level or column-level) is not yet supported.</p>
+<p>The <code>kudu</code> command line tool now includes the <code>kudu fs check</code> command
+which performs various offline consistency checks on the local on-disk
+storage of a Kudu Tablet Server or Master. In addition to detecting
+various inconsistencies or corruptions, it can also detect and remove
+data blocks that are no longer referenced by any tablet but were not
+fully removed from disk due to a crash or a bug in prior versions of Kudu.</p>
 </li>
 <li>
-<p>Kudu 1.3 adds a background task to tablet servers which removes historical versions of
-data which have fallen behind the configured data retention time. This reduces disk space
-usage in all workloads, but particularly in those with a higher volume of updates or
-upserts.</p>
+<p>The <code>kudu</code> command line tool can now be used to list the addresses and
+identifiers of the servers in the cluster using either <code>kudu master list</code>
+or <code>kudu tserver list</code>.</p>
 </li>
 <li>
-<p>Kudu now incorporates Google Breakpad, a library which writes crash reports in
-the case of a server crash. These reports can be found within the configured log directory,
-and can be useful during bug diagnosis.</p>
+<p>Kudu 1.4 now includes the optional ability to compute, store, and verify
+checksums on all pieces of data stored on a server. Prior versions only
+performed checksums on certain portions of the stored data. This feature
+is not enabled by default since it makes a backward-incompatible change
+to the on-disk formats and thus prevent downgrades. Kudu 1.5 will enable
+the feature by default.</p>
 </li>
 </ul>
 </div>
@@ -113,156 +86,157 @@ and can be useful during bug diagnosis.</p>
 <div class="ulist">
 <ul>
 <li>
-<p>Kudu servers will now change the file permissions of data directories and contained
-data files based on a new configuration flag <code>--umask</code>. As a result, after upgrading,
-permissions on disk may be more restrictive than in previous versions. The new default
-configuration improves data security.</p>
+<p><code>kudu cluster ksck</code> now detects and reports new classes of
+inconsistencies and issues. In particular, it is better able to
+detect cases where a configuration change such as a replica eviction
+or addition is pending but is unable to be committed. It also now
+properly detects and reports cases where a tablet has no elected
+leader.</p>
 </li>
 <li>
-<p>Kudu&#8217;s web UI will now redact strings which may include sensitive user data. For example,
-the monitoring page which shows in-progress scans no longer includes the scanner predicate
-values. The tracing and RPC diagnostics endpoints no longer include contents of RPCs which
-may include table data.</p>
+<p>The default size for Write Ahead Log (WAL) segments has been reduced
+from 64MB to 8MB. Additionally, in the case that all replicas of a
+tablet are fully up to date and data has been flushed from memory,
+servers will now retain only a single WAL segment rather than
+two. These changes are expected to reduce the average consumption of
+disk space on the configured WAL disk by 16x, as well as improve the
+startup speed of tablet servers by reducing the number and size of
+WAL segments that need to be re-read.</p>
 </li>
 <li>
-<p>By default, Kudu now reserves 1% of each configured data volume as free space. If a volume
-is seen to have less than 1% of disk space free, Kudu will stop writing to that volume
-to avoid completely filling up the disk.</p>
+<p>The default on-disk storage system used by Kudu servers (Log Block Manager)
+has been improved to compact its metadata and remove dead containers.
+This compaction and garbage collection occurs only at startup. Thus, the
+first startup after upgrade is expected to be longer than usual, and
+subsequent restarts should be shorter.</p>
 </li>
 <li>
-<p>The default encoding for numeric columns (int, float, and double) has been changed
-to <code>BIT_SHUFFLE</code>. The default encoding for binary and string columns has been
-changed to <code>DICT_ENCODING</code>. Dictionary encoding automatically falls back to the old
-default (<code>PLAIN</code>) when cardinality is too high to be effectively encoded.</p>
-<div class="paragraph">
-<p>These new defaults match the default behavior of other storage mechanisms such as
-  Apache Parquet and are likely to perform better out of the box.</p>
-</div>
+<p>The usability of the Kudu web interfaces has been improved,
+particularly for the case where a server hosts many tablets or a
+table has many partitions. Pages that list tablets now include
+a top-level summary of tablet status and show the complete list
+under a toggleable section.</p>
 </li>
 <li>
-<p>Kudu now uses <code>LZ4</code> compression when writing its Write Ahead Log (WAL). This improves
-write performance and stability for many use cases.</p>
+<p>The Maintenance Manager has been improved to improve utilization of the
+configured maintenance threads. Previously, maintenance work would
+only be scheduled a maximum of 4 times per second, but now maintenance
+work will be scheduled immediately whenever any configured thread is
+available. This can improve the throughput of write-heavy workloads.</p>
 </li>
 <li>
-<p>Kudu now uses <code>LZ4</code> compression when writing delta files. This can improve both
-read and write performance as well as save substantial disk usage, especially
-for workloads involving a high number of updates or upserts containing compressible
-data.</p>
+<p>The Maintenance Manager will now aggressively schedule flushes of
+in-memory data when memory consumption crosses 60% of the configured
+process-wide memory limit. The backpressure mechanism which begins
+to throttle client writes has been accordingly adjusted to not begin
+throttling until reaching 80% of the configured limit. These two
+changes together result in improved write throughput, more consistent
+latency, and fewer timeouts due to memory exhaustion.</p>
 </li>
 <li>
-<p>The Kudu API now supports the ability to express <code>IS NULL</code> and <code>IS NOT NULL</code> predicates
-on scanners. The Spark DataSource integration will take advantage of these new
-predicates when possible.</p>
+<p>Many performance improvements were made to write performance. Applications
+which send large batches of writes to Kudu should see substantially
+improved throughput in Kudu 1.4.</p>
 </li>
 <li>
-<p>Both C++ and Java clients have been optimized to prune partitions more effectively
-when performing scans using the <code>IN (&#8230;&#8203;)</code> predicate.</p>
+<p>Several improvements were made to reduce the memory consumption of
+Kudu Tablet Servers which hold large volumes of data. The specific
+amount of memory saved varies depending on workload, but the expectation
+is that approximately 350MB of excess peak memory usage has been eliminated
+per TB of data stored.</p>
 </li>
 <li>
-<p>The exception messages produced by the Java client are now truncated to a maximum length
-of 32KB.</p>
+<p>The number of threads used by the Kudu Tablet Server has been reduced.
+Previously, each tablet used a dedicated thread to append to its WAL.
+Those threads now automatically stop running if there is no activity
+on a given tablet for a short period of time.</p>
 </li>
 </ul>
 </div>
 </div>
 </div>
 <div class="sect1">
-<h2 id="rn_1.3.0_fixed_issues"><a class="link" href="#rn_1.3.0_fixed_issues">Fixed Issues</a></h2>
+<h2 id="rn_1.4.0_fixed_issues"><a class="link" href="#rn_1.4.0_fixed_issues">Fixed Issues</a></h2>
 <div class="sectionbody">
 <div class="ulist">
 <ul>
 <li>
-<p><a href="https://issues.apache.org/jira/browse/KUDU-1893">KUDU-1893</a>
-Fixed a critical bug in which wrong results would be returned when evaluating
-predicates applied to columns added using the <code>ALTER TABLE</code> operation.</p>
-</li>
-<li>
-<p><a href="https://issues.apache.org/jira/browse/KUDU-1905">KUDU-1905</a>
-Fixed a crash after inserting a row sharing a primary key with a recently-deleted
-row in tables where the primary key is comprised of all of the columns.</p>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-2020">KUDU-2020</a>
+Fixed an issue where re-replication after a failure would proceed
+significantly slower than expected. This bug caused many tablets
+to be unnecessarily copied multiple times before successfully
+being considered re-replicated, resulting in significantly more
+network and IO bandwidth usage than expected. Mean time to recovery
+on clusters with large amounts of data is improved by up to 10x by this
+fix.</p>
 </li>
 <li>
-<p><a href="https://issues.apache.org/jira/browse/KUDU-1899">KUDU-1899</a>
-Fixed a crash after inserting a row with an empty string as the single-column
-primary key.</p>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1982">KUDU-1982</a>
+Fixed an issue where the Java client would call <code>NetworkInterface.getByInetAddress</code>
+very often, causing performance problems particularly on Windows
+where this function can be quite slow.</p>
 </li>
 <li>
-<p><a href="https://issues.apache.org/jira/browse/KUDU-1904">KUDU-1904</a>
-Fixed a potential crash when performing random reads against a column using RLE
-encoding and containing long runs of NULL values.</p>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1755">KUDU-1755</a>
+Improved the accuracy of the <code>on_disk_size</code> replica metrics to
+include the size consumed by bloom filters, primary key indexes,
+and superblock metadata, and delta files. Note that, because the size
+metric is now more accurate, the reported values are expected to
+increase after upgrading to Kudu 1.4. This does not indicate that
+replicas are using more space after the upgrade; rather, it is
+now accurately reporting the amount of space that has always been
+used.</p>
 </li>
 <li>
-<p><a href="https://issues.apache.org/jira/browse/KUDU-1853">KUDU-1853</a>
-Fixed an issue where disk space could be leaked on servers which experienced an error
-during the process of copying tablet data from another server.</p>
-</li>
-</ul>
-</div>
-<div class="admonitionblock note">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-note" title="Note"></i>
-</td>
-<td class="content">
-The fix for KUDU-1853 resulted in a regression and was reverted in Kudu 1.3.1.
-</td>
-</tr>
-</table>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p><a href="https://issues.apache.org/jira/browse/KUDU-1856">KUDU-1856</a>
-Fixed an issue in which disk space could be leaked by Kudu servers storing data on
-partitions using the XFS file system. Any leaked disk space will be automatically
-recovered upon upgrade.</p>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1192">KUDU-1192</a>
+Kudu servers will now periodically flush their log messages to disk
+even if no <code>WARNING</code>-level messages have been logged. This makes it
+easier to tail the logs to see progress output during normal startup.</p>
 </li>
 <li>
-<p><a href="https://issues.apache.org/jira/browse/KUDU-1888">KUDU-1888</a>,
-<a href="https://issues.apache.org/jira/browse/KUDU-1906">KUDU-1906</a>
-Fixed multiple issues in the Java client where operation callbacks would never be
-triggered, causing the client to hang.</p>
+<p><a href="https://issues.apache.org/jira/browse/KUDU-1999">KUDU-1999</a>
+Fixed the ability to run Spark jobs in "cluster" mode against
+Kudu clusters secured by Kerberos.</p>
 </li>
 </ul>
 </div>
 </div>
 </div>
 <div class="sect1">
-<h2 id="rn_1.3.0_wire_compatibility"><a class="link" href="#rn_1.3.0_wire_compatibility">Wire Protocol compatibility</a></h2>
+<h2 id="rn_1.4.0_wire_compatibility"><a class="link" href="#rn_1.4.0_wire_compatibility">Wire Protocol compatibility</a></h2>
 <div class="sectionbody">
 <div class="paragraph">
-<p>Kudu 1.3.0 is wire-compatible with previous versions of Kudu:</p>
+<p>Kudu 1.4.0 is wire-compatible with previous versions of Kudu:</p>
 </div>
 <div class="ulist">
 <ul>
 <li>
-<p>Kudu 1.3 clients may connect to servers running Kudu 1.0. If the client uses features
-that are not available on the target server, an error will be returned.</p>
+<p>Kudu 1.4 clients may connect to servers running Kudu 1.0 or later. If the client uses
+features that are not available on the target server, an error will be returned.</p>
 </li>
 <li>
-<p>Kudu 1.0 clients may connect to servers running Kudu 1.3 with the exception of the
+<p>Kudu 1.0 clients may connect to servers running Kudu 1.4 with the exception of the
 below-mentioned restrictions regarding secure clusters.</p>
 </li>
 <li>
-<p>Rolling upgrade between Kudu 1.2 and Kudu 1.3 servers is believed to be possible
+<p>Rolling upgrade between Kudu 1.3 and Kudu 1.4 servers is believed to be possible
 though has not been sufficiently tested. Users are encouraged to shut down all nodes
 in the cluster, upgrade the software, and then restart the daemons on the new version.</p>
 </li>
 </ul>
 </div>
 <div class="paragraph">
-<p>The authentication features newly introduced in Kudu 1.3 place the following limitations
-on wire compatibility with older versions:</p>
+<p>The authentication features introduced in Kudu 1.3 place the following limitations
+on wire compatibility between Kudu 1.4 and versions earlier than 1.3:</p>
 </div>
 <div class="ulist">
 <ul>
 <li>
-<p>If a Kudu 1.3 cluster is configured with authentication or encryption set to "required",
-older clients will be unable to connect.</p>
+<p>If a Kudu 1.4 cluster is configured with authentication or encryption set to "required",
+clients older than Kudu 1.3 will be unable to connect.</p>
 </li>
 <li>
-<p>If a Kudu 1.3 cluster is configured with authentication and encryption set to "optional"
+<p>If a Kudu 1.4 cluster is configured with authentication and encryption set to "optional"
 or "disabled", older clients will still be able to connect.</p>
 </li>
 </ul>
@@ -270,84 +244,84 @@ or "disabled", older clients will still be able to connect.</p>
 </div>
 </div>
 <div class="sect1">
-<h2 id="rn_1.3.0_incompatible_changes"><a class="link" href="#rn_1.3.0_incompatible_changes">Incompatible Changes in Kudu 1.3.0</a></h2>
+<h2 id="rn_1.4.0_incompatible_changes"><a class="link" href="#rn_1.4.0_incompatible_changes">Incompatible Changes in Kudu 1.4.0</a></h2>
 <div class="sectionbody">
 <div class="ulist">
 <ul>
 <li>
-<p>Due to storage format changes in Kudu 1.3, downgrade from Kudu 1.3 to earlier versions
-is not supported. After upgrading to Kudu 1.3, attempting to restart with an earlier
-version will result in an error.</p>
-</li>
-<li>
-<p>In order to support running MapReduce and Spark jobs on secure clusters, these
-frameworks now connect to the cluster at job submission time to retrieve authentication
-credentials which can later be used by the tasks to be spawned. This means that
-the process submitting jobs to Kudu clusters must have direct access to that cluster.</p>
-</li>
-<li>
-<p>The embedded web servers in Kudu processes now specify the <code>X-Frame-Options: DENY</code> HTTP
-header which prevents embedding Kudu web pages in HTML <code>iframe</code> elements.</p>
+<p>Kudu servers, by default, will now only allow unencrypted or unauthenticated connections
+from trusted subnets, which are private networks (127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,
+192.168.0.0/16,169.254.0.0/16) and local subnets of all local network interfaces.
+Unencrypted or unauthenticated connections from publicly routable IPs will be rejected,
+even if encryption and authentication are not configured.</p>
+<div class="paragraph">
+<p>The trusted subnets can be configured using the <code>--trusted_subnets</code> flag, which can be set
+   to IP blocks represented in CIDR notation separated by comma. Set it to '0.0.0.0/0' to
+   allow unauthenticated connections from all remote IP addresses. However, if network access
+   is not otherwise restricted by a firewall, malicious users may be able to gain unauthorized
+   access. This can be mitigated if authentication and encryption are configured to be
+   required.</p>
+</div>
 </li>
 </ul>
 </div>
 <div class="sect2">
-<h3 id="rn_1.3.0_client_compatibility"><a class="link" href="#rn_1.3.0_client_compatibility">Client Library Compatibility</a></h3>
+<h3 id="rn_1.4.0_client_compatibility"><a class="link" href="#rn_1.4.0_client_compatibility">Client Library Compatibility</a></h3>
 <div class="ulist">
 <ul>
 <li>
-<p>The Kudu 1.3 Java client library is API- and ABI-compatible with Kudu 1.2. Applications
-written against Kudu 1.2 will compile and run against the Kudu 1.3 client library and
+<p>The Kudu 1.4 Java client library is API- and ABI-compatible with Kudu 1.3. Applications
+written against Kudu 1.3 will compile and run against the Kudu 1.4 client library and
 vice-versa, unless one of the following newly added APIs is used:</p>
 <div class="ulist">
 <ul>
 <li>
-<p><code>[Async]KuduClient.exportAuthenticationCredentials(&#8230;&#8203;)</code> (unstable API)</p>
+<p><code>[Async]KuduScannerBuilder.setFaultTolerant(&#8230;&#8203;)</code></p>
 </li>
 <li>
-<p><code>[Async]KuduClient.importAuthenticationCredentials(&#8230;&#8203;)</code> (unstable API)</p>
+<p>New methods in <code>AlterTableOptions</code>: <code>removeDefault</code>, <code>changeDefault</code>, <code>changeDesiredBlockSize</code>,
+<code>changeEncoding</code>, <code>changeCompressionAlgorithm</code></p>
 </li>
 <li>
-<p><code>[Async]KuduClient.getMasterAddressesAsString()</code></p>
+<p><code>KuduClient.updateLastPropagatedTimestamp</code></p>
 </li>
 <li>
-<p><code>KuduPredicate.newIsNotNullPredicate()</code></p>
+<p><code>KuduClient.getLastPropagatedTimestamp</code></p>
 </li>
 <li>
-<p><code>KuduPredicate.newIsNullPredicate()</code></p>
+<p>New getters in <code>PartialRow</code>: <code>getBoolean</code>, <code>getByte</code>, <code>getShort</code>, <code>getInt</code>, <code>getLong</code>,
+<code>getFloat</code>, <code>getDouble</code>, <code>getString</code>, <code>getBinaryCopy</code>, <code>getBinary</code>, <code>isNull</code>,
+<code>isSet</code>.</p>
 </li>
 </ul>
 </div>
 </li>
 <li>
-<p>The Kudu 1.3 C++ client is API- and ABI-forward-compatible with Kudu 1.2.
-Applications written and compiled against the Kudu 1.2 client library will run without
-modification against the Kudu 1.3 client library. Applications written and compiled
-against the Kudu 1.3 client library will run without modification against the Kudu 1.2
+<p>The Kudu 1.4 C++ client is API- and ABI-forward-compatible with Kudu 1.3.
+Applications written and compiled against the Kudu 1.3 client library will run without
+modification against the Kudu 1.4 client library. Applications written and compiled
+against the Kudu 1.4 client library will run without modification against the Kudu 1.3
 client library unless they use one of the following new APIs:</p>
 <div class="ulist">
 <ul>
 <li>
-<p><code>kudu::DisableOpenSSLInitialization()</code></p>
+<p><code>KuduPartitionerBuilder</code></p>
 </li>
 <li>
-<p><code>KuduClientBuilder::import_authentication_credentials(&#8230;&#8203;)</code></p>
+<p>`KuduPartitioner</p>
 </li>
 <li>
-<p><code>KuduClient::ExportAuthenticationCredentials(&#8230;&#8203;)</code></p>
+<p><code>KuduScanner::SetRowFormatFlags</code> (unstable API)</p>
 </li>
 <li>
-<p><code>KuduClient::NewIsNotNullPredicate(&#8230;&#8203;)</code></p>
-</li>
-<li>
-<p><code>KuduClient::NewIsNullPredicate(&#8230;&#8203;)</code></p>
+<p><code>KuduScanBatch::direct_data</code>, <code>KuduScanBatch::indirect_data</code> (unstable API)</p>
 </li>
 </ul>
 </div>
 </li>
 <li>
-<p>The Kudu 1.3 Python client is API-compatible with Kudu 1.2. Applications
-written against Kudu 1.2 will continue to run against the Kudu 1.3 client
+<p>The Kudu 1.4 Python client is API-compatible with Kudu 1.3. Applications
+written against Kudu 1.3 will continue to run against the Kudu 1.4 client
 and vice-versa.</p>
 </li>
 </ul>
@@ -356,7 +330,7 @@ and vice-versa.</p>
 </div>
 </div>
 <div class="sect1">
-<h2 id="rn_1.3.0_known_issues"><a class="link" href="#rn_1.3.0_known_issues">Known Issues and Limitations</a></h2>
+<h2 id="rn_1.4.0_known_issues"><a class="link" href="#rn_1.4.0_known_issues">Known Issues and Limitations</a></h2>
 <div class="sectionbody">
 <div class="paragraph">
 <p>Please refer to the <a href="known_issues.html">Known Issues and Limitations</a> section of the
@@ -423,24 +397,20 @@ documentation.</p>
       </li> 
       <li>
 <span class="active-toc">Kudu Release Notes</span>
-            <ul class="sectlevel0">
-<li><a href="#_apache_kudu_1_3_0_release_notes">Apache Kudu 1.3.0 Release Notes</a>
-<ul class="sectlevel1">
-<li><a href="#rn_1.3.0_new_features">New features</a></li>
+            <ul class="sectlevel1">
+<li><a href="#rn_1.4.0_new_features">New features</a></li>
 <li><a href="#_optimizations_and_improvements">Optimizations and improvements</a></li>
-<li><a href="#rn_1.3.0_fixed_issues">Fixed Issues</a></li>
-<li><a href="#rn_1.3.0_wire_compatibility">Wire Protocol compatibility</a></li>
-<li><a href="#rn_1.3.0_incompatible_changes">Incompatible Changes in Kudu 1.3.0</a>
+<li><a href="#rn_1.4.0_fixed_issues">Fixed Issues</a></li>
+<li><a href="#rn_1.4.0_wire_compatibility">Wire Protocol compatibility</a></li>
+<li><a href="#rn_1.4.0_incompatible_changes">Incompatible Changes in Kudu 1.4.0</a>
 <ul class="sectlevel2">
-<li><a href="#rn_1.3.0_client_compatibility">Client Library Compatibility</a></li>
+<li><a href="#rn_1.4.0_client_compatibility">Client Library Compatibility</a></li>
 </ul>
 </li>
-<li><a href="#rn_1.3.0_known_issues">Known Issues and Limitations</a></li>
+<li><a href="#rn_1.4.0_known_issues">Known Issues and Limitations</a></li>
 <li><a href="#resources_and_next_steps">Resources</a></li>
 <li><a href="#_installation_options">Installation Options</a></li>
 <li><a href="#_next_steps">Next Steps</a></li>
-</ul>
-</li>
 </ul> 
       </li> 
       <li>

http://git-wip-us.apache.org/repos/asf/kudu/blob/ce7ab97e/docs/schema_design.html
----------------------------------------------------------------------
diff --git a/docs/schema_design.html b/docs/schema_design.html
index 9286178..c0edfe0 100644
--- a/docs/schema_design.html
+++ b/docs/schema_design.html
@@ -2,7 +2,7 @@
 title: Apache Kudu Schema Design
 layout: default
 active_nav: docs
-last_updated: 'Last updated 2017-05-15 12:38:04 PDT'
+last_updated: 'Last updated 2017-05-31 14:43:27 PDT'
 ---
 <!--
 
@@ -111,10 +111,10 @@ column types include:</p>
 <p>double-precision (64-bit) IEEE-754 floating-point number</p>
 </li>
 <li>
-<p>UTF-8 encoded string (up to 64KB)</p>
+<p>UTF-8 encoded string (up to 64KB uncompressed)</p>
 </li>
 <li>
-<p>binary (up to 64KB)</p>
+<p>binary (up to 64KB uncompressed)</p>
 </li>
 </ul>
 </div>
@@ -657,6 +657,9 @@ partitioning, which logically adds another dimension of partitioning.</p>
 <p>Rename the table</p>
 </li>
 <li>
+<p>Rename primary key columns</p>
+</li>
+<li>
 <p>Rename, add, or drop non-primary key columns</p>
 </li>
 <li>
@@ -699,10 +702,11 @@ performance.</p>
 </dd>
 <dt class="hdlist1">Size of Cells</dt>
 <dd>
-<p>No individual cell may be larger than 64KB. The cells making up
-a composite key are limited to a total of 16KB after the internal composite-key encoding
-done by Kudu. Inserting rows not conforming to these limitations will result in errors
-being returned to the client.</p>
+<p>No individual cell may be larger than 64KB before encoding or
+compression. The cells making up a composite key are limited to a total of 16KB
+after the internal composite-key encoding done by Kudu. Inserting rows not
+conforming to these limitations will result in errors being returned to the
+client.</p>
 </dd>
 <dt class="hdlist1">Size of Rows</dt>
 <dd>

http://git-wip-us.apache.org/repos/asf/kudu/blob/ce7ab97e/docs/security.html
----------------------------------------------------------------------
diff --git a/docs/security.html b/docs/security.html
index 9413d17..e4a4ba8 100644
--- a/docs/security.html
+++ b/docs/security.html
@@ -2,7 +2,7 @@
 title: Apache Kudu Security
 layout: default
 active_nav: docs
-last_updated: 'Last updated 2017-05-15 12:38:07 PDT'
+last_updated: 'Last updated 2017-05-31 14:43:27 PDT'
 ---
 <!--
 
@@ -51,9 +51,20 @@ with other secure Hadoop components by utilizing Kerberos.</p>
 <code>--rpc-authentication</code> flag, which can be set to <code>required</code>, <code>optional</code>, or
 <code>disabled</code>. By default, the flag is set to <code>optional</code>. When <code>required</code>, Kudu
 will reject connections from clients and servers who lack authentication
-credentials. When <code>optional</code>, Kudu will attempt to use strong authentication,
-but will allow unauthenticated connections. When <code>disabled</code>, Kudu will only
-allow unauthenticated connections.</p>
+credentials. When <code>optional</code>, Kudu will attempt to use strong authentication.
+When <code>disabled</code> or strong authentication fails for 'optional', by default Kudu
+will only allow unauthenticated connections from trusted subnets, which are
+private networks (127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,
+169.254.0.0/16) and local subnets of all local network interfaces. Unauthenticated
+connections from publicly routable IPs will be rejected.</p>
+</div>
+<div class="paragraph">
+<p>The trusted subnets can be configured using the <code>--trusted_subnets</code> flag,
+which can be set to IP blocks in CIDR notation separated by comma. Set it to
+'0.0.0.0/0' to allow unauthenticated connections from all remote IP addresses.
+However, if network access is not otherwise restricted by a firewall,
+malicious users may be able to gain unauthorized access. This can be mitigated
+if authentication is configured to be required.</p>
 </div>
 <div class="admonitionblock warning">
 <table>
@@ -137,9 +148,10 @@ to be encrypted with TLS.</p>
 <p>Encryption can be configured on Kudu servers using the <code>--rpc-encryption</code> flag,
 which can be set to <code>required</code>, <code>optional</code>, or <code>disabled</code>. By default, the flag
 is set to <code>optional</code>. When <code>required</code>, Kudu will reject unencrypted connections.
-When <code>optional</code>, Kudu will attempt to use encryption, but will allow unencrypted
-connections. When <code>disabled</code>, Kudu will never use encryption. To secure a
-cluster, use <code>--rpc-encryption=required</code>.</p>
+When <code>optional</code>, Kudu will attempt to use encryption. Same as authentication,
+when <code>disabled</code> or encryption fails for <code>optional</code>, Kudu will only allow
+unencrypted connections from trusted subnets and reject any unencrypted connections
+from publicly routable IPs. To secure a cluster, use <code>--rpc-encryption=required</code>.</p>
 </div>
 <div class="admonitionblock note">
 <table>
@@ -317,11 +329,11 @@ flag reference.</p>
 <dl>
 <dt class="hdlist1">Long-lived Tokens</dt>
 <dd>
-<p>Kudu clients do not automatically request fresh tokens after
-initial token expiration, so long-lived clients in secure clusters are not
-supported. Note that applications such as Apache Impala construct new clients
-for each query and thus this limitation only affects the runtime of any single
-query.</p>
+<p>The Java Kudu client does not automatically request fresh
+authn tokens after initial token expiration, so long-lived Java clients in
+secure clusters are not supported. However, the C Kudu client does
+automatically request fresh authn tokens, so long-lived C clients
+(i.e. beyond authn token lifetime) in secure clusters are supported.</p>
 </dd>
 <dt class="hdlist1">Custom Kerberos Principal</dt>
 <dd>

http://git-wip-us.apache.org/repos/asf/kudu/blob/ce7ab97e/docs/troubleshooting.html
----------------------------------------------------------------------
diff --git a/docs/troubleshooting.html b/docs/troubleshooting.html
index 934512c..9b56ace 100644
--- a/docs/troubleshooting.html
+++ b/docs/troubleshooting.html
@@ -2,7 +2,7 @@
 title: Apache Kudu Troubleshooting
 layout: default
 active_nav: docs
-last_updated: 'Last updated 2017-05-15 12:38:07 PDT'
+last_updated: 'Last updated 2017-05-18 13:38:03 PDT'
 ---
 <!--
 
@@ -26,7 +26,7 @@ limitations under the License.
 
 <h1>Apache Kudu Troubleshooting</h1>
       <div class="sect1">
-<h2 id="_issues_starting_the_master_or_tablet_server"><a class="link" href="#_issues_starting_the_master_or_tablet_server">Issues starting the Master or Tablet Server</a></h2>
+<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>
@@ -88,7 +88,7 @@ only be used for small-scale evaluation and development.
 </div>
 </div>
 <div class="sect2">
-<h3 id="ntp"><a class="link" href="#ntp">NTP clock synchronization</a></h3>
+<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)
@@ -208,7 +208,68 @@ mentioned flag. For example to increase the possible maximum error to
 </div>
 </div>
 <div class="sect1">
-<h2 id="_troubleshooting_performance_issues"><a class="link" href="#_troubleshooting_performance_issues">Troubleshooting Performance Issues</a></h2>
+<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.</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>
@@ -427,13 +488,14 @@ There is no workaround for Hive users. Spark users need to create temporary tabl
       <li>
 <span class="active-toc">Troubleshooting Kudu</span>
             <ul class="sectlevel1">
-<li><a href="#_issues_starting_the_master_or_tablet_server">Issues starting the Master or Tablet Server</a>
+<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>
+<li><a href="#ntp">NTP Clock Synchronization</a></li>
 </ul>
 </li>
-<li><a href="#_troubleshooting_performance_issues">Troubleshooting Performance Issues</a>
+<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>

http://git-wip-us.apache.org/repos/asf/kudu/blob/ce7ab97e/releases/1.3.0/index.md
----------------------------------------------------------------------
diff --git a/releases/1.3.0/index.md b/releases/1.3.0/index.md
index 6134f0a..41bfd90 100644
--- a/releases/1.3.0/index.md
+++ b/releases/1.3.0/index.md
@@ -32,10 +32,10 @@ See the [Kudu 1.3.0 Release Notes](docs/release_notes.html).
 
 Downloads of Kudu 1.3.0 are available in the following formats:
 
-* [Kudu 1.3.0 source tarball](http://www.apache.org/closer.cgi?filename=kudu/1.3.0/apache-kudu-1.3.0.tar.gz&action=download)
-  ([SHA1](https://www.apache.org/dist/kudu/1.3.0/apache-kudu-1.3.0.tar.gz.sha),
-  [MD5](https://www.apache.org/dist/kudu/1.3.0/apache-kudu-1.3.0.tar.gz.md5),
-  [Signature](https://www.apache.org/dist/kudu/1.3.0/apache-kudu-1.3.0.tar.gz.asc))
+* [Kudu 1.3.0 source tarball](https://archive.apache.org/dist/kudu/1.3.0/apache-kudu-1.3.0.tar.gz)
+  ([SHA1](https://archive.apache.org/dist/kudu/1.3.0/apache-kudu-1.3.0.tar.gz.sha),
+  [MD5](https://archive.apache.org/dist/kudu/1.3.0/apache-kudu-1.3.0.tar.gz.md5),
+  [Signature](https://archive.apache.org/dist/kudu/1.3.0/apache-kudu-1.3.0.tar.gz.asc))
 
 You can use the [KEYS file](https://www.apache.org/dist/kudu/KEYS) to verify the included GPG signature.
 

http://git-wip-us.apache.org/repos/asf/kudu/blob/ce7ab97e/releases/1.3.1/index.md
----------------------------------------------------------------------
diff --git a/releases/1.3.1/index.md b/releases/1.3.1/index.md
index 8eb7be9..833a753 100644
--- a/releases/1.3.1/index.md
+++ b/releases/1.3.1/index.md
@@ -32,10 +32,10 @@ See the [Kudu 1.3.1 Release Notes](docs/release_notes.html).
 
 Downloads of Kudu 1.3.1 are available in the following formats:
 
-* [Kudu 1.3.1 source tarball](http://www.apache.org/closer.cgi?filename=kudu/1.3.1/apache-kudu-1.3.1.tar.gz&action=download)
-  ([SHA1](https://www.apache.org/dist/kudu/1.3.1/apache-kudu-1.3.1.tar.gz.sha),
-  [MD5](https://www.apache.org/dist/kudu/1.3.1/apache-kudu-1.3.1.tar.gz.md5),
-  [Signature](https://www.apache.org/dist/kudu/1.3.1/apache-kudu-1.3.1.tar.gz.asc))
+* [Kudu 1.3.1 source tarball](https://archive.apache.org/dist/kudu/1.3.1/apache-kudu-1.3.1.tar.gz)
+  ([SHA1](https://archive.apache.org/dist/kudu/1.3.1/apache-kudu-1.3.1.tar.gz.sha),
+  [MD5](https://archive.apache.org/dist/kudu/1.3.1/apache-kudu-1.3.1.tar.gz.md5),
+  [Signature](https://archive.apache.org/dist/kudu/1.3.1/apache-kudu-1.3.1.tar.gz.asc))
 
 You can use the [KEYS file](https://www.apache.org/dist/kudu/KEYS) to verify the included GPG signature.
 

http://git-wip-us.apache.org/repos/asf/kudu/blob/ce7ab97e/releases/1.4.0/apidocs/allclasses-frame.html
----------------------------------------------------------------------
diff --git a/releases/1.4.0/apidocs/allclasses-frame.html b/releases/1.4.0/apidocs/allclasses-frame.html
new file mode 100644
index 0000000..dcf5212
--- /dev/null
+++ b/releases/1.4.0/apidocs/allclasses-frame.html
@@ -0,0 +1,88 @@
+<!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.4.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/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/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/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/client/Insert.html" title="class in org.apache.kudu.client" target="classFrame">Insert</a></li>
+<li><a href="org/apache/kudu/annotations/InterfaceAudience.html" title="class in org.apache.kudu.annotations" target="classFrame">InterfaceAudience</a></li>
+<li><a href="org/apache/kudu/annotations/InterfaceStability.html" title="class in org.apache.kudu.annotations" target="classFrame">InterfaceStability</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/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/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/ce7ab97e/releases/1.4.0/apidocs/allclasses-noframe.html
----------------------------------------------------------------------
diff --git a/releases/1.4.0/apidocs/allclasses-noframe.html b/releases/1.4.0/apidocs/allclasses-noframe.html
new file mode 100644
index 0000000..cb20732
--- /dev/null
+++ b/releases/1.4.0/apidocs/allclasses-noframe.html
@@ -0,0 +1,88 @@
+<!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.4.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/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/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/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/client/Insert.html" title="class in org.apache.kudu.client">Insert</a></li>
+<li><a href="org/apache/kudu/annotations/InterfaceAudience.html" title="class in org.apache.kudu.annotations">InterfaceAudience</a></li>
+<li><a href="org/apache/kudu/annotations/InterfaceStability.html" title="class in org.apache.kudu.annotations">InterfaceStability</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/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/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>


Mime
View raw message