blob: ad22e4c1113ae7afa7ccf660f5b0314fed44256a [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<meta name="description" content="A new open source Apache Hadoop ecosystem project, Apache Kudu completes Hadoop's storage layer to enable fast analytics on fast data" />
<meta name="author" content="Cloudera" />
<title>Apache Kudu - Apache Kudu 1.10.0 Release Notes</title>
<!-- Bootstrap core CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"
integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7"
crossorigin="anonymous">
<!-- Custom styles for this template -->
<link href="/css/kudu.css" rel="stylesheet"/>
<link href="/css/asciidoc.css" rel="stylesheet"/>
<link rel="shortcut icon" href="/img/logo-favicon.ico" />
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.1/css/font-awesome.min.css" />
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="kudu-site container-fluid">
<!-- Static navbar -->
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="logo" href="/"><img
src="//d3dr9sfxru4sde.cloudfront.net/i/k/apachekudu_logo_0716_80px.png"
srcset="//d3dr9sfxru4sde.cloudfront.net/i/k/apachekudu_logo_0716_80px.png 1x, //d3dr9sfxru4sde.cloudfront.net/i/k/apachekudu_logo_0716_160px.png 2x"
alt="Apache Kudu"/></a>
</div>
<div id="navbar" class="collapse navbar-collapse">
<ul class="nav navbar-nav navbar-right">
<li >
<a href="/">Home</a>
</li>
<li >
<a href="/overview.html">Overview</a>
</li>
<li class="active">
<a href="/docs/">Documentation</a>
</li>
<li >
<a href="/releases/">Download</a>
</li>
<li >
<a href="/blog/">Blog</a>
</li>
<!-- NOTE: this dropdown menu does not appear on Mobile, so don't add anything here
that doesn't also appear elsewhere on the site. -->
<li class="dropdown">
<a href="/community.html" role="button" aria-haspopup="true" aria-expanded="false">Community <span class="caret"></span></a>
<ul class="dropdown-menu">
<li class="dropdown-header">GET IN TOUCH</li>
<li><a class="icon email" href="/community.html">Mailing Lists</a></li>
<li><a class="icon slack" href="https://getkudu-slack.herokuapp.com/">Slack Channel</a></li>
<li role="separator" class="divider"></li>
<li><a href="/community.html#meetups-user-groups-and-conference-presentations">Events and Meetups</a></li>
<li><a href="/committers.html">Project Committers</a></li>
<!--<li><a href="/roadmap.html">Roadmap</a></li>-->
<li><a href="/community.html#contributions">How to Contribute</a></li>
<li role="separator" class="divider"></li>
<li class="dropdown-header">DEVELOPER RESOURCES</li>
<li><a class="icon github" href="https://github.com/apache/incubator-kudu">GitHub</a></li>
<li><a class="icon gerrit" href="http://gerrit.cloudera.org:8080/#/q/status:open+project:kudu">Gerrit Code Review</a></li>
<li><a class="icon jira" href="https://issues.apache.org/jira/browse/KUDU">JIRA Issue Tracker</a></li>
<li role="separator" class="divider"></li>
<li class="dropdown-header">SOCIAL MEDIA</li>
<li><a class="icon twitter" href="https://twitter.com/ApacheKudu">Twitter</a></li>
<li><a href="https://www.reddit.com/r/kudu/">Reddit</a></li>
<li role="separator" class="divider"></li>
<li class="dropdown-header">APACHE SOFTWARE FOUNDATION</li>
<li><a href="https://www.apache.org/security/" target="_blank">Security</a></li>
<li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a></li>
<li><a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
<li><a href="https://www.apache.org/licenses/" target="_blank">License</a></li>
</ul>
</li>
<li >
<a href="/faq.html">FAQ</a>
</li>
</ul><!-- /.nav -->
</div><!-- /#navbar -->
</div><!-- /.container-fluid -->
</nav>
<!--
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 1.10.0 Release Notes</h1>
<div class="sect1">
<h2 id="rn_1.10.0_upgrade_notes"><a class="link" href="#rn_1.10.0_upgrade_notes">Upgrade Notes</a></h2>
<div class="sectionbody">
<div class="ulist">
<ul>
<li>
<p>The default tablet history retention time has been raised from 15 minutes to
7 days to better support touchless incremental backups
(see <a href="https://issues.apache.org/jira/browse/KUDU-2677">KUDU-2677</a>).</p>
</li>
</ul>
</div>
</div>
</div>
<div class="sect1">
<h2 id="rn_1.10.0_obsoletions"><a class="link" href="#rn_1.10.0_obsoletions">Obsoletions</a></h2>
<div class="sectionbody">
</div>
</div>
<div class="sect1">
<h2 id="rn_1.10.0_deprecations"><a class="link" href="#rn_1.10.0_deprecations">Deprecations</a></h2>
<div class="sectionbody">
</div>
</div>
<div class="sect1">
<h2 id="rn_1.10.0_new_features"><a class="link" href="#rn_1.10.0_new_features">New features</a></h2>
<div class="sectionbody">
<div class="ulist">
<ul>
<li>
<p>Kudu now supports both full and incremental table backups via a job
implemented using Apache Spark. Additionally it supports restoring
tables from full and incremental backups via a restore job implemented using
Apache Spark. See the <a href="administration.html#backup">backup documentation</a>
for more details.</p>
</li>
<li>
<p>Kudu can now synchronize its internal catalog with the Apache Hive Metastore,
automatically updating Hive Metastore table entries upon table creation,
deletion, and alterations in Kudu. See the
<a href="hive_metastore.html#metadata_sync">HMS synchronization documentation</a>
for more details.</p>
</li>
<li>
<p>Kudu now supports native fine-grained authorization via integration with
Apache Sentry. Kudu may now enforce access control policies defined for Kudu
tables and columns, as well as policies defined on Hive servers and databases
that may store Kudu tables. See the
<a href="security.html#fine_grained_authz">authorization documentation</a> for more
details.</p>
</li>
<li>
<p>Kudu’s web UI now supports SPNEGO, a protocol for securing HTTP requests with
Kerberos by passing negotiation through HTTP headers. To enable, set the
<code>--webserver_require_spnego</code> command line flag.</p>
</li>
<li>
<p>Column comments can now be stored in Kudu tables, and can be updated using
the AlterTable API
(see <a href="https://issues.apache.org/jira/browse/KUDU-1711">KUDU-1711</a>).</p>
</li>
<li>
<p>The Java scan token builder can now create multiple tokens per tablet.
To use this functionality, call <code>setSplitSizeBytes()</code> to specify how many bytes
of data each token should scan. The same API is also available in Kudu’s
Spark integration, where it can be used to spawn multiple Spark tasks per
scanned tablet
(see <a href="https://issues.apache.org/jira/browse/KUDU-2670">KUDU-2670</a>).</p>
</li>
<li>
<p>Experimental Kudu Docker images are now published on
<a href="https://hub.docker.com/r/apache/kudu">Docker Hub</a>.</p>
</li>
<li>
<p>Kudu now has an experimental Kubernetes StatefulSet manifest and Helm chart,
which can be used to define and provision Kudu clusters using Kubernetes
(see <a href="https://issues.apache.org/jira/browse/KUDU-2398">KUDU-2398</a>).</p>
</li>
<li>
<p>The Kudu CLI now has rudimentary YAML-based configuration file support,
which can be used to provide cluster connection information via cluster name
instead of keying in comma-separated lists of master addresses.
See the <a href="https://kudu.apache.org/docs/administration.html#using_cluster_names_in_kudu_tool">cluster name documentation</a>
for more details.</p>
</li>
<li>
<p><code>kudu perf table_scan</code> scans a table and displays a table’s row count as well
as the time it took to run the scan.</p>
</li>
<li>
<p><code>kudu table copy</code> copies data from one table to another, within the same
cluster or across clusters. Note, this implementation leverages a single client,
therefore it may not be suitable for large tables.</p>
</li>
<li>
<p>Tablet history retention time can now be configured on a table-by-table basis.
(see <a href="https://issues.apache.org/jira/browse/KUDU-2514">KUDU-2514</a>).</p>
</li>
</ul>
</div>
</div>
</div>
<div class="sect1">
<h2 id="rn_1.10.0_improvements"><a class="link" href="#rn_1.10.0_improvements">Optimizations and improvements</a></h2>
<div class="sectionbody">
<div class="ulist">
<ul>
<li>
<p>The performance of mutations (i.e. UPDATE, DELETE, and re-INSERT) to
not-yet-flushed Kudu data has been significantly optimized
(see <a href="https://issues.apache.org/jira/browse/KUDU-2826">KUDU-2826</a> and
<a href="https://github.com/apache/kudu/commit/f9f9526d3">f9f9526d3</a>).</p>
</li>
<li>
<p>Predicate performance for primitive columns has been optimized
(see <a href="https://issues.apache.org/jira/browse/KUDU-2846">KUDU-2846</a>).</p>
</li>
<li>
<p>IS NULL and IS NOT NULL predicate performance has been optimized
(see <a href="https://issues.apache.org/jira/browse/KUDU-2846">KUDU-2846</a>).</p>
</li>
<li>
<p>Optimized the performance of fetching tablet locations from the master for
tables with large numbers of partitions. This can improve the performance of
short-running Spark or Impala queries as well as user applications which make
use of short-lived client instances
(see <a href="https://issues.apache.org/jira/browse/KUDU-2711">KUDU-2711</a>).</p>
</li>
<li>
<p>The <code>tableExists()</code> (Java) and <code>TableExists()</code> (C++) APIs are now more performant
(see <a href="https://issues.apache.org/jira/browse/KUDU-2802">KUDU-2802</a>).</p>
</li>
<li>
<p>Fault tolerant scans are now much more performant and consume far less memory
(see <a href="https://issues.apache.org/jira/browse/KUDU-2466">KUDU-2466</a>).</p>
</li>
<li>
<p><code>kudu cluster ksck</code> now sends more requests in parallel, which should result
in a speed-up when running against clusters with many tables or when there’s
high latency between the node running the CLI and the cluster nodes.</p>
</li>
<li>
<p>Kudu’s block manager now deletes spent block containers when needed instead of
just at server startup. This should reduce server startup times somewhat
(see <a href="https://issues.apache.org/jira/browse/KUDU-2636">KUDU-2636</a>).</p>
</li>
<li>
<p>DNS resolutions are now cached by Kudu masters, tablet servers, and
Kudu C++ clients. The TTL for a resolved DNS entry in the cache is 15 seconds
by default
(see <a href="https://issues.apache.org/jira/browse/KUDU-2791">KUDU-2791</a>).</p>
</li>
<li>
<p>Tables created in Kudu 1.10.0 or later will show their creation time as well
as their last alteration time in the web UI
(see <a href="https://issues.apache.org/jira/browse/KUDU-2750">KUDU-2750</a>).</p>
</li>
<li>
<p>The Kudu CLI and C++ client now support overriding the local username using
the ‘KUDU_USER_NAME’ environment variable. This allows operating against a
Kudu cluster using an identity which differs from the local Unix user on the
client. Note that this has no effect on secure clusters, where client identity
is determined by Kerberos authentication
(see <a href="https://issues.apache.org/jira/browse/KUDU-2717">KUDU-2717</a>).</p>
</li>
<li>
<p>Kudu C++ client now performs stricter verification on the input data of
INSERT and UPSERT operations w.r.t. table schema constraints. This helps
spotting schema violations before sending the data to a tablet server.</p>
</li>
<li>
<p>The <code>KuduScanner</code> in the Java client is now iterable. Additionally the
<code>KuduScannerIterator</code> will automatically make scanner keep alive calls to
ensure scanners do not time out while iterating.</p>
</li>
<li>
<p>A <code>KuduPartitioner</code> API was added to the Java client. The <code>KuduPartitioner</code>
API allows a client to determine which partition a row falls into without
actually writing that row. For example, the <code>KuduPartitioner</code> is used in the
Spark integration to optionally repartition and pre-sort the data before
writing to Kudu
(see <a href="https://issues.apache.org/jira/browse/KUDU-2674">KUDU-2674</a> and
<a href="https://issues.apache.org/jira/browse/KUDU-2672">KUDU-2672</a>).</p>
</li>
<li>
<p>The <code>PartialRow</code> and <code>RowResult</code> Java API have new methods that accept and return
Java Objects. These methods are useful when you don&#8217;t care about autoboxing
and your existing type handling logic is based on Java types. See the javadoc
for more details.</p>
</li>
<li>
<p>The Kudu Java client now logs RPC trace summaries instead of full RPC traces when
the log level is <code>INFO</code> or higher. This reduces log noise and makes RPC issues
more visible in a more compact format
(see <a href="https://issues.apache.org/jira/browse/KUDU-2830">KUDU-2830</a>).</p>
</li>
<li>
<p>Kudu servers now display the time at which they were started in their web UIs.</p>
</li>
<li>
<p>Kudu tablet servers now display a table’s total column count in the web UI.</p>
</li>
<li>
<p>The <code>/metrics</code> web UI endpoint now supports filtering on entity types,
entity IDs, entity attributes, and metric names. This can be used to more
efficiently collect important metrics when there is a large number of tablets
on a tablet server.</p>
</li>
<li>
<p>The Kudu rebalancer now accepts the <code>--ignored_tservers</code> command line
argument, which can be used to ignore the health status of specific tablet
servers (i.e. if they are down) when deciding whether or not it’s safe to
rebalance the cluster.</p>
</li>
<li>
<p><code>kudu master list</code> now displays the Raft consensus role of each master in the
cluster (i.e. LEADER or FOLLOWER)
(see <a href="https://issues.apache.org/jira/browse/KUDU-2825">KUDU-2825</a>).</p>
</li>
<li>
<p><code>kudu table scan</code> no longer interleaves its output, and now projects all
columns without having to manually list the column names.</p>
</li>
<li>
<p><code>kudu perf loadgen</code> now supports creating empty tables. The semantics of the
special value of 0 for <code>--num_rows_per_thread</code> flag has changed. A value of 0
now indicates that no rows should be generated, and a value of -1 indicates
there should be no limit to the number of rows generated.</p>
</li>
<li>
<p>Running <code>make install</code> after building Kudu from source will now install the
Kudu binaries into appropriate locations.
(see <a href="https://issues.apache.org/jira/browse/KUDU-1344">KUDU-1344</a>).</p>
</li>
</ul>
</div>
</div>
</div>
<div class="sect1">
<h2 id="rn_1.10.0_fixed_issues"><a class="link" href="#rn_1.10.0_fixed_issues">Fixed Issues</a></h2>
<div class="sectionbody">
<div class="ulist">
<ul>
<li>
<p>Fixed an issue where the Java client would fail scans that took a very long
time to return a single block of rows, such as highly selective scans over a
large amount of data
(see <a href="https://issues.apache.org/jira/browse/KUDU-1868">KUDU-1868</a>).</p>
</li>
<li>
<p>Fixed the handling of SERVICE_UNAVAILABLE errors that caused the Java client
to do unnecessary master lookups.</p>
</li>
<li>
<p>Kudu scan tokens now work correctly when the target table is renamed between
when the scan token is created and when it is rehydrated into a scanner.</p>
</li>
<li>
<p>Kudu’s “NTP synchronization wait” behavior at startup now works properly when
Kudu is run in a containerized environment.</p>
</li>
<li>
<p>Fixed a crash when a flush or compaction overlapped with another compaction
(see <a href="https://issues.apache.org/jira/browse/KUDU-2807">KUDU-2807</a>).</p>
</li>
<li>
<p>Fixed a rare race at startup where the leader master would fruitlessly try to
tablet copy to a healthy follower master, causing the cluster to operate as if
it had two masters until master leadership changed
(see <a href="https://issues.apache.org/jira/browse/KUDU-2748">KUDU-2748</a>).</p>
</li>
<li>
<p>Under rare circumstances, it was possible for Kudu to crash in libkrb5 when
negotiating multiple TLS connections concurrently. This crash has been fixed
(see <a href="https://issues.apache.org/jira/browse/KUDU-2706">KUDU-2706</a>).</p>
</li>
<li>
<p>Kudu no longer crashes at startup on machines with disabled CPUs
(see <a href="https://issues.apache.org/jira/browse/KUDU-2721">KUDU-2721</a>).</p>
</li>
</ul>
</div>
</div>
</div>
<div class="sect1">
<h2 id="rn_1.10.0_wire_compatibility"><a class="link" href="#rn_1.10.0_wire_compatibility">Wire Protocol compatibility</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p>Kudu 1.10.0 is wire-compatible with previous versions of Kudu:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>Kudu 1.10 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>Rolling upgrade between Kudu 1.9 and Kudu 1.10 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>
<li>
<p>Kudu 1.0 clients may connect to servers running Kudu 1.10 with the exception of the
below-mentioned restrictions regarding secure clusters.</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>The authentication features introduced in Kudu 1.3 place the following limitations
on wire compatibility between Kudu 1.10 and versions earlier than 1.3:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>If a Kudu 1.10 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.10 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.10.0_incompatible_changes"><a class="link" href="#rn_1.10.0_incompatible_changes">Incompatible Changes in Kudu 1.10.0</a></h2>
<div class="sectionbody">
<div class="ulist">
<ul>
<li>
<p>Support for building and running with Java 7 has been dropped in this release.
It had been deprecated since Kudu 1.5.0.
(see <a href="https://issues.apache.org/jira/browse/KUDU-2099">KUDU-2099</a>).</p>
</li>
</ul>
</div>
<div class="sect2">
<h3 id="rn_1.10.0_client_compatibility"><a class="link" href="#rn_1.10.0_client_compatibility">Client Library Compatibility</a></h3>
<div class="ulist">
<ul>
<li>
<p>The Kudu 1.10 Java client library is API- and ABI-compatible with Kudu 1.9. Applications
written against Kudu 1.9 will compile and run against the Kudu 1.10 client library and
vice-versa.</p>
</li>
<li>
<p>The Kudu 1.10 C++ client is API- and ABI-forward-compatible with Kudu 1.9.
Applications written and compiled against the Kudu 1.9 client library will run without
modification against the Kudu 1.10 client library. Applications written and compiled
against the Kudu 1.10 client library will run without modification against the Kudu 1.9
client library.</p>
</li>
<li>
<p>The Kudu 1.10 Python client is API-compatible with Kudu 1.9. Applications
written against Kudu 1.9 will continue to run against the Kudu 1.10 client
and vice-versa.</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="rn_1.10.0_known_issues"><a class="link" href="#rn_1.10.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
documentation.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="rn_1.10.0_contributors"><a class="link" href="#rn_1.10.0_contributors">Contributors</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p>Kudu 1.10 includes contributions from 27 people, including 6 first-time contributors:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>Csaba Fulop</p>
</li>
<li>
<p>Florentino Sainz</p>
</li>
<li>
<p>Guangchao Deng</p>
</li>
<li>
<p>Jia Hongchao</p>
</li>
<li>
<p>Ye Yuqiang</p>
</li>
<li>
<p>Yifan Zhang</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>Thank you for your help in making Kudu even better!</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="resources_and_next_steps"><a class="link" href="#resources_and_next_steps">Resources</a></h2>
<div class="sectionbody">
<div class="ulist">
<ul>
<li>
<p><a href="http://kudu.apache.org">Kudu Website</a></p>
</li>
<li>
<p><a href="http://github.com/apache/kudu">Kudu GitHub Repository</a></p>
</li>
<li>
<p><a href="index.html">Kudu Documentation</a></p>
</li>
<li>
<p><a href="prior_release_notes.html">Release notes for older releases</a></p>
</li>
</ul>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_installation_options"><a class="link" href="#_installation_options">Installation Options</a></h2>
<div class="sectionbody">
<div class="paragraph">
<p>For full installation details, see <a href="installation.html">Kudu Installation</a>.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_next_steps"><a class="link" href="#_next_steps">Next Steps</a></h2>
<div class="sectionbody">
<div class="ulist">
<ul>
<li>
<p><a href="quickstart.html">Kudu Quickstart</a></p>
</li>
<li>
<p><a href="installation.html">Installing Kudu</a></p>
</li>
<li>
<p><a href="configuration.html">Configuring Kudu</a></p>
</li>
</ul>
</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>
<span class="active-toc">Kudu Release Notes</span>
<ul class="sectlevel1">
<li><a href="#rn_1.10.0_upgrade_notes">Upgrade Notes</a></li>
<li><a href="#rn_1.10.0_obsoletions">Obsoletions</a></li>
<li><a href="#rn_1.10.0_deprecations">Deprecations</a></li>
<li><a href="#rn_1.10.0_new_features">New features</a></li>
<li><a href="#rn_1.10.0_improvements">Optimizations and improvements</a></li>
<li><a href="#rn_1.10.0_fixed_issues">Fixed Issues</a></li>
<li><a href="#rn_1.10.0_wire_compatibility">Wire Protocol compatibility</a></li>
<li><a href="#rn_1.10.0_incompatible_changes">Incompatible Changes in Kudu 1.10.0</a>
<ul class="sectlevel2">
<li><a href="#rn_1.10.0_client_compatibility">Client Library Compatibility</a></li>
</ul>
</li>
<li><a href="#rn_1.10.0_known_issues">Known Issues and Limitations</a></li>
<li><a href="#rn_1.10.0_contributors">Contributors</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>
<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>
<a href="troubleshooting.html">Troubleshooting Kudu</a>
</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="scaling_guide.html">Kudu Scaling Guide</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>
<footer class="footer">
<div class="row">
<div class="col-md-9">
<p class="small">
Copyright &copy; 2019 The Apache Software Foundation. Last updated 2019-07-09 12:51:23 PDT
</p>
<p class="small">
Apache Kudu, Kudu, Apache, the Apache feather logo, and the Apache Kudu
project logo are either registered trademarks or trademarks of The
Apache Software Foundation in the United States and other countries.
</p>
</div>
<div class="col-md-3">
<a class="pull-right" href="https://www.apache.org/events/current-event.html">
<img src="https://www.apache.org/events/current-event-234x60.png"/>
</a>
</div>
</div>
</footer>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
// Try to detect touch-screen devices. Note: Many laptops have touch screens.
$(document).ready(function() {
if ("ontouchstart" in document.documentElement) {
$(document.documentElement).addClass("touch");
} else {
$(document.documentElement).addClass("no-touch");
}
});
</script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
crossorigin="anonymous"></script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-68448017-1', 'auto');
ga('send', 'pageview');
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
<script>
anchors.options = {
placement: 'right',
visible: 'touch',
};
anchors.add();
</script>
</body>
</html>