You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kudu.apache.org by to...@apache.org on 2017/01/20 19:19:52 UTC

[06/51] [partial] kudu-site git commit: Publish commit(s) from site source repo: 95b9a7a Update site for 1.2.0 release 5095504 KUDU-1818. Add link to Cloudera training in FAQ

http://git-wip-us.apache.org/repos/asf/kudu-site/blob/9b792926/docs/known_issues.html
----------------------------------------------------------------------
diff --git a/docs/known_issues.html b/docs/known_issues.html
new file mode 100644
index 0000000..4f7cd8f
--- /dev/null
+++ b/docs/known_issues.html
@@ -0,0 +1,374 @@
+<!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 - Known Issues and Limitations</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>
+                  </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>Known Issues and Limitations</h1>
+      <div class="sect1">
+<h2 id="_schema_and_usage_limitations"><a class="link" href="#_schema_and_usage_limitations">Schema and Usage Limitations</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Kudu is primarily designed for analytic use cases. You are likely to encounter issues if
+a single row contains multiple kilobytes of data.</p>
+</li>
+<li>
+<p>The columns which make up the primary key must be listed first in the schema.</p>
+</li>
+<li>
+<p>Columns that are part of the primary key cannot be renamed.
+The primary key may not be changed after the table is created.
+You must drop and recreate a table to select a new primary key
+or rename key columns.</p>
+</li>
+<li>
+<p>The primary key of a row may not be modified using the <code>UPDATE</code> functionality.
+To modify a row&#8217;s primary key, the row must be deleted and re-inserted with
+the modified key. Such a modification is non-atomic.</p>
+</li>
+<li>
+<p>Columns with <code>DOUBLE</code>, <code>FLOAT</code>, or <code>BOOL</code> types are not allowed as part of a
+primary key definition. Additionally, all columns that are part of a primary
+key definition must be <code>NOT NULL</code>.</p>
+</li>
+<li>
+<p>Type and nullability of existing columns cannot be changed by altering the table.</p>
+</li>
+<li>
+<p>Dropping a column does not immediately reclaim space. Compaction must run first.
+There is no way to run compaction manually, but dropping the table will reclaim the
+space immediately.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_partitioning_limitations"><a class="link" href="#_partitioning_limitations">Partitioning Limitations</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Tables must be manually pre-split into tablets using simple or compound primary
+keys. Automatic splitting is not yet possible. Range partitions may be added
+or dropped after a table has been created. See
+<a href="schema_design.html">Schema Design</a> for more information.</p>
+</li>
+<li>
+<p>Data in existing tables cannot currently be automatically repartitioned. As a workaround,
+create a new table with the new partitioning and insert the contents of the old
+table.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_replication_and_backup_limitations"><a class="link" href="#_replication_and_backup_limitations">Replication and Backup Limitations</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Kudu does not currently include any built-in features for backup and restore.
+Users are encouraged to use tools such as Spark or Impala to export or import
+tables as necessary.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_impala_limitations"><a class="link" href="#_impala_limitations">Impala Limitations</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Updates, inserts, and deletes via Impala are non-transactional. If a query
+fails part of the way through, its partial effects will not be rolled back.</p>
+</li>
+<li>
+<p>No timestamp and decimal type support.</p>
+</li>
+<li>
+<p>The maximum parallelism of a single query is limited to the number of tablets
+in a table. For good analytic performance, aim for 10 or more tablets per host
+or use large tables.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_security_limitations"><a class="link" href="#_security_limitations">Security Limitations</a></h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p>Authentication and authorization features are not implemented.</p>
+</li>
+<li>
+<p>Data encryption is not built in. Kudu has been reported to run correctly
+on systems using local block device encryption (e.g. <code>dmcrypt</code>).</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_other_known_issues"><a class="link" href="#_other_known_issues">Other Known Issues</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The following are known bugs and issues with the current release of Kudu. They will
+be addressed in later releases. Note that this list is not exhaustive, and is meant
+to communicate only the most important known issues.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>If the Kudu master is configured with the <code>-log_force_fsync_all</code> option, tablet servers
+and clients will experience frequent timeouts, and the cluster may become unusable.</p>
+</li>
+<li>
+<p>If a tablet server has a very large number of tablets, it may take several minutes
+to start up. It is recommended to limit the number of tablets per server to 100 or fewer.
+Consider this limitation when pre-splitting your tables. If you notice slow start-up times,
+you can monitor the number of tablets per server in the web UI.</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>
+
+          <a href="release_notes.html">Kudu Release Notes</a> 
+      </li> 
+      <li>
+
+          <a href="quickstart.html">Getting Started with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="installation.html">Installation Guide</a> 
+      </li> 
+      <li>
+
+          <a href="configuration.html">Configuring Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="kudu_impala_integration.html">Using Impala with Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="administration.html">Administering Kudu</a> 
+      </li> 
+      <li>
+
+          <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="transaction_semantics.html">Kudu Transaction Semantics</a> 
+      </li> 
+      <li>
+
+          <a href="contributing.html">Contributing to Kudu</a> 
+      </li> 
+      <li>
+
+          <a href="style_guide.html">Kudu Documentation Style Guide</a> 
+      </li> 
+      <li>
+
+          <a href="configuration_reference.html">Kudu Configuration Reference</a> 
+      </li> 
+      <li>
+<span class="active-toc">Known Issues and Limitations</span>
+            <ul class="sectlevel1">
+<li><a href="#_schema_and_usage_limitations">Schema and Usage Limitations</a></li>
+<li><a href="#_partitioning_limitations">Partitioning Limitations</a></li>
+<li><a href="#_replication_and_backup_limitations">Replication and Backup Limitations</a></li>
+<li><a href="#_impala_limitations">Impala Limitations</a></li>
+<li><a href="#_security_limitations">Security Limitations</a></li>
+<li><a href="#_other_known_issues">Other Known Issues</a></li>
+</ul> 
+      </li> 
+      <li>
+
+          <a href="export_control.html">Export Control Notice</a> 
+      </li> 
+  </ul>
+  </div>
+    </div>
+  </div>
+</div>
+      <footer class="footer">
+        <p class="small">
+        Copyright &copy; 2016 The Apache Software Foundation.  Last updated 2017-01-12 12:48:06 PST 
+        </p>
+      </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>
+

http://git-wip-us.apache.org/repos/asf/kudu-site/blob/9b792926/docs/kudu-master_configuration_reference.html
----------------------------------------------------------------------
diff --git a/docs/kudu-master_configuration_reference.html b/docs/kudu-master_configuration_reference.html
index 76482a7..93193b9 100644
--- a/docs/kudu-master_configuration_reference.html
+++ b/docs/kudu-master_configuration_reference.html
@@ -1138,7 +1138,7 @@ configuration tasks.</p>
 </tr>
 <tr>
 <th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock">runtime,advanced,stable</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">advanced,runtime,stable</p></td>
 </tr>
 </tbody>
 </table>
@@ -1271,6 +1271,10 @@ configuration tasks.</p>
       </li> 
       <li>
 
+          <a href="known_issues.html">Known Issues and Limitations</a> 
+      </li> 
+      <li>
+
           <a href="export_control.html">Export Control Notice</a> 
       </li> 
   </ul>
@@ -1280,7 +1284,7 @@ configuration tasks.</p>
 </div>
       <footer class="footer">
         <p class="small">
-        Copyright &copy; 2016 The Apache Software Foundation.  Last updated 2016-11-21 07:26:08 PST 
+        Copyright &copy; 2016 The Apache Software Foundation.  Last updated 2017-01-18 10:16:01 PST 
         </p>
       </footer>
     </div>

http://git-wip-us.apache.org/repos/asf/kudu-site/blob/9b792926/docs/kudu-master_configuration_reference_unsupported.html
----------------------------------------------------------------------
diff --git a/docs/kudu-master_configuration_reference_unsupported.html b/docs/kudu-master_configuration_reference_unsupported.html
index 390bcc3..4725176 100644
--- a/docs/kudu-master_configuration_reference_unsupported.html
+++ b/docs/kudu-master_configuration_reference_unsupported.html
@@ -824,6 +824,90 @@ for informational purposes only. They are subject to change or be removed withou
 </div>
 </div>
 <div class="sect1">
+<h2 id="kudu-master_missed_heartbeats_before_rejecting_snapshot_scans"><a class="link" href="#kudu-master_missed_heartbeats_before_rejecting_snapshot_scans"><code>--missed_heartbeats_before_rejecting_snapshot_scans</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The maximum raft heartbeat periods since the tablet has seen safe time advanced before refusing scans at snapshots that aren&#8217;t yet safe and forcing clients to try again.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 50%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<tbody>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">double</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Default</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>1.5</code></p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_safe_time_advancement_without_writes"><a class="link" href="#kudu-master_safe_time_advancement_without_writes"><code>--safe_time_advancement_without_writes</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether to enable the advancement of "safe" time in the absense of write operations</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 50%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<tbody>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Default</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_safe_time_max_lag_ms"><a class="link" href="#kudu-master_safe_time_max_lag_ms"><code>--safe_time_max_lag_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The maximum amount of time we allow safe time to lag behind the requested timestampbefore forcing the client to retry, in milliseconds.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 50%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<tbody>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Default</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>30000</code></p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
 <h2 id="kudu-master_block_coalesce_close"><a class="link" href="#kudu-master_block_coalesce_close"><code>--block_coalesce_close</code></a></h2>
 <div class="sectionbody">
 <div class="paragraph">
@@ -852,6 +936,34 @@ for informational purposes only. They are subject to change or be removed withou
 </div>
 </div>
 <div class="sect1">
+<h2 id="kudu-master_block_manager_max_open_files"><a class="link" href="#kudu-master_block_manager_max_open_files"><code>--block_manager_max_open_files</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum number of open file descriptors to be used for data blocks. If 0, there is no limit. If -1, Kudu will use half of its resource limit as per getrlimit(). This is a soft limit.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 50%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<tbody>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Default</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>-1</code></p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">evolving,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
 <h2 id="kudu-master_fs_data_dirs_full_disk_cache_seconds"><a class="link" href="#kudu-master_fs_data_dirs_full_disk_cache_seconds"><code>--fs_data_dirs_full_disk_cache_seconds</code></a></h2>
 <div class="sectionbody">
 <div class="paragraph">
@@ -936,6 +1048,34 @@ for informational purposes only. They are subject to change or be removed withou
 </div>
 </div>
 <div class="sect1">
+<h2 id="kudu-master_log_container_max_blocks"><a class="link" href="#kudu-master_log_container_max_blocks"><code>--log_container_max_blocks</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum number of blocks (soft) of a log container. Use 0 for no limit. Use -1 for no limit except in the case of a kernel bug with hole punching on ext4 (see KUDU-1508 for details).</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 50%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<tbody>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Default</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>-1</code></p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
 <h2 id="kudu-master_log_container_max_size"><a class="link" href="#kudu-master_log_container_max_size"><code>--log_container_max_size</code></a></h2>
 <div class="sectionbody">
 <div class="paragraph">
@@ -1149,7 +1289,7 @@ for informational purposes only. They are subject to change or be removed withou
 </tr>
 <tr>
 <th class="tableblock halign-left valign-top"><p class="tableblock">Default</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock"><code>3600000</code></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>300000</code></p></td>
 </tr>
 <tr>
 <th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
@@ -2700,6 +2840,62 @@ for informational purposes only. They are subject to change or be removed withou
 </div>
 </div>
 <div class="sect1">
+<h2 id="kudu-master_scanner_max_wait_ms"><a class="link" href="#kudu-master_scanner_max_wait_ms"><code>--scanner_max_wait_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The maximum amount of time (in milliseconds) we&#8217;ll hang a scanner thread waiting for safe time to advance or transactions to commit, even if its deadline allows waiting longer.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 50%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<tbody>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Default</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>1000</code></p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_num_tablets_to_copy_simultaneously"><a class="link" href="#kudu-master_num_tablets_to_copy_simultaneously"><code>--num_tablets_to_copy_simultaneously</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of threads available to copy tablets from remote servers.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 50%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<tbody>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Default</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>10</code></p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
 <h2 id="kudu-master_num_tablets_to_open_simultaneously"><a class="link" href="#kudu-master_num_tablets_to_open_simultaneously"><code>--num_tablets_to_open_simultaneously</code></a></h2>
 <div class="sectionbody">
 <div class="paragraph">
@@ -2840,6 +3036,34 @@ for informational purposes only. They are subject to change or be removed withou
 </div>
 </div>
 <div class="sect1">
+<h2 id="kudu-master_file_cache_expiry_period_ms"><a class="link" href="#kudu-master_file_cache_expiry_period_ms"><code>--file_cache_expiry_period_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Period of time (in ms) between removing expired file cache descriptors</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 50%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<tbody>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Default</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
 <h2 id="kudu-master_disable_core_dumps"><a class="link" href="#kudu-master_disable_core_dumps"><code>--disable_core_dumps</code></a></h2>
 <div class="sectionbody">
 <div class="paragraph">
@@ -2868,6 +3092,62 @@ for informational purposes only. They are subject to change or be removed withou
 </div>
 </div>
 <div class="sect1">
+<h2 id="kudu-master_log_redact_user_data"><a class="link" href="#kudu-master_log_redact_user_data"><code>--log_redact_user_data</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether log and error messages will have row data redacted.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 50%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<tbody>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Default</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">experimental,runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-master_max_log_files"><a class="link" href="#kudu-master_max_log_files"><code>--max_log_files</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum number of log files to retain per severity level. The most recent log files are retained. If set to 0, all log files are retained.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 50%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<tbody>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Default</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>10</code></p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">experimental,runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
 <h2 id="kudu-master_log_target_replay_size_mb"><a class="link" href="#kudu-master_log_target_replay_size_mb"><code>--log_target_replay_size_mb</code></a></h2>
 <div class="sectionbody">
 <div class="paragraph">
@@ -3268,6 +3548,10 @@ for informational purposes only. They are subject to change or be removed withou
       </li> 
       <li>
 
+          <a href="known_issues.html">Known Issues and Limitations</a> 
+      </li> 
+      <li>
+
           <a href="export_control.html">Export Control Notice</a> 
       </li> 
   </ul>
@@ -3277,7 +3561,7 @@ for informational purposes only. They are subject to change or be removed withou
 </div>
       <footer class="footer">
         <p class="small">
-        Copyright &copy; 2016 The Apache Software Foundation.  Last updated 2016-11-21 07:26:08 PST 
+        Copyright &copy; 2016 The Apache Software Foundation.  Last updated 2017-01-18 10:16:01 PST 
         </p>
       </footer>
     </div>

http://git-wip-us.apache.org/repos/asf/kudu-site/blob/9b792926/docs/kudu-tserver_configuration_reference.html
----------------------------------------------------------------------
diff --git a/docs/kudu-tserver_configuration_reference.html b/docs/kudu-tserver_configuration_reference.html
index c76ae71..6ebd48d 100644
--- a/docs/kudu-tserver_configuration_reference.html
+++ b/docs/kudu-tserver_configuration_reference.html
@@ -1138,7 +1138,7 @@ configuration tasks.</p>
 </tr>
 <tr>
 <th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
-<td class="tableblock halign-left valign-top"><p class="tableblock">runtime,advanced,stable</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">advanced,runtime,stable</p></td>
 </tr>
 </tbody>
 </table>
@@ -1271,6 +1271,10 @@ configuration tasks.</p>
       </li> 
       <li>
 
+          <a href="known_issues.html">Known Issues and Limitations</a> 
+      </li> 
+      <li>
+
           <a href="export_control.html">Export Control Notice</a> 
       </li> 
   </ul>
@@ -1280,7 +1284,7 @@ configuration tasks.</p>
 </div>
       <footer class="footer">
         <p class="small">
-        Copyright &copy; 2016 The Apache Software Foundation.  Last updated 2016-11-21 07:26:08 PST 
+        Copyright &copy; 2016 The Apache Software Foundation.  Last updated 2017-01-18 10:16:01 PST 
         </p>
       </footer>
     </div>

http://git-wip-us.apache.org/repos/asf/kudu-site/blob/9b792926/docs/kudu-tserver_configuration_reference_unsupported.html
----------------------------------------------------------------------
diff --git a/docs/kudu-tserver_configuration_reference_unsupported.html b/docs/kudu-tserver_configuration_reference_unsupported.html
index ae9bc63..1eb8785 100644
--- a/docs/kudu-tserver_configuration_reference_unsupported.html
+++ b/docs/kudu-tserver_configuration_reference_unsupported.html
@@ -824,6 +824,90 @@ for informational purposes only. They are subject to change or be removed withou
 </div>
 </div>
 <div class="sect1">
+<h2 id="kudu-tserver_missed_heartbeats_before_rejecting_snapshot_scans"><a class="link" href="#kudu-tserver_missed_heartbeats_before_rejecting_snapshot_scans"><code>--missed_heartbeats_before_rejecting_snapshot_scans</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The maximum raft heartbeat periods since the tablet has seen safe time advanced before refusing scans at snapshots that aren&#8217;t yet safe and forcing clients to try again.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 50%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<tbody>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">double</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Default</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>1.5</code></p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_safe_time_advancement_without_writes"><a class="link" href="#kudu-tserver_safe_time_advancement_without_writes"><code>--safe_time_advancement_without_writes</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether to enable the advancement of "safe" time in the absense of write operations</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 50%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<tbody>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Default</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_safe_time_max_lag_ms"><a class="link" href="#kudu-tserver_safe_time_max_lag_ms"><code>--safe_time_max_lag_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The maximum amount of time we allow safe time to lag behind the requested timestampbefore forcing the client to retry, in milliseconds.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 50%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<tbody>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Default</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>30000</code></p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">experimental</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
 <h2 id="kudu-tserver_block_coalesce_close"><a class="link" href="#kudu-tserver_block_coalesce_close"><code>--block_coalesce_close</code></a></h2>
 <div class="sectionbody">
 <div class="paragraph">
@@ -852,6 +936,34 @@ for informational purposes only. They are subject to change or be removed withou
 </div>
 </div>
 <div class="sect1">
+<h2 id="kudu-tserver_block_manager_max_open_files"><a class="link" href="#kudu-tserver_block_manager_max_open_files"><code>--block_manager_max_open_files</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum number of open file descriptors to be used for data blocks. If 0, there is no limit. If -1, Kudu will use half of its resource limit as per getrlimit(). This is a soft limit.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 50%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<tbody>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Default</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>-1</code></p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">evolving,advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
 <h2 id="kudu-tserver_fs_data_dirs_full_disk_cache_seconds"><a class="link" href="#kudu-tserver_fs_data_dirs_full_disk_cache_seconds"><code>--fs_data_dirs_full_disk_cache_seconds</code></a></h2>
 <div class="sectionbody">
 <div class="paragraph">
@@ -936,6 +1048,34 @@ for informational purposes only. They are subject to change or be removed withou
 </div>
 </div>
 <div class="sect1">
+<h2 id="kudu-tserver_log_container_max_blocks"><a class="link" href="#kudu-tserver_log_container_max_blocks"><code>--log_container_max_blocks</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum number of blocks (soft) of a log container. Use 0 for no limit. Use -1 for no limit except in the case of a kernel bug with hole punching on ext4 (see KUDU-1508 for details).</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 50%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<tbody>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int64</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Default</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>-1</code></p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
 <h2 id="kudu-tserver_log_container_max_size"><a class="link" href="#kudu-tserver_log_container_max_size"><code>--log_container_max_size</code></a></h2>
 <div class="sectionbody">
 <div class="paragraph">
@@ -2420,6 +2560,62 @@ for informational purposes only. They are subject to change or be removed withou
 </div>
 </div>
 <div class="sect1">
+<h2 id="kudu-tserver_scanner_max_wait_ms"><a class="link" href="#kudu-tserver_scanner_max_wait_ms"><code>--scanner_max_wait_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The maximum amount of time (in milliseconds) we&#8217;ll hang a scanner thread waiting for safe time to advance or transactions to commit, even if its deadline allows waiting longer.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 50%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<tbody>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Default</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>1000</code></p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_num_tablets_to_copy_simultaneously"><a class="link" href="#kudu-tserver_num_tablets_to_copy_simultaneously"><code>--num_tablets_to_copy_simultaneously</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Number of threads available to copy tablets from remote servers.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 50%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<tbody>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Default</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>10</code></p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
 <h2 id="kudu-tserver_num_tablets_to_open_simultaneously"><a class="link" href="#kudu-tserver_num_tablets_to_open_simultaneously"><code>--num_tablets_to_open_simultaneously</code></a></h2>
 <div class="sectionbody">
 <div class="paragraph">
@@ -2560,6 +2756,34 @@ for informational purposes only. They are subject to change or be removed withou
 </div>
 </div>
 <div class="sect1">
+<h2 id="kudu-tserver_file_cache_expiry_period_ms"><a class="link" href="#kudu-tserver_file_cache_expiry_period_ms"><code>--file_cache_expiry_period_ms</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Period of time (in ms) between removing expired file cache descriptors</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 50%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<tbody>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Default</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>60000</code></p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">advanced</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
 <h2 id="kudu-tserver_disable_core_dumps"><a class="link" href="#kudu-tserver_disable_core_dumps"><code>--disable_core_dumps</code></a></h2>
 <div class="sectionbody">
 <div class="paragraph">
@@ -2588,6 +2812,62 @@ for informational purposes only. They are subject to change or be removed withou
 </div>
 </div>
 <div class="sect1">
+<h2 id="kudu-tserver_log_redact_user_data"><a class="link" href="#kudu-tserver_log_redact_user_data"><code>--log_redact_user_data</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Whether log and error messages will have row data redacted.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 50%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<tbody>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">bool</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Default</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">experimental,runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="kudu-tserver_max_log_files"><a class="link" href="#kudu-tserver_max_log_files"><code>--max_log_files</code></a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Maximum number of log files to retain per severity level. The most recent log files are retained. If set to 0, all log files are retained.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 50%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<tbody>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Type</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">int32</p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Default</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><code>10</code></p></td>
+</tr>
+<tr>
+<th class="tableblock halign-left valign-top"><p class="tableblock">Tags</p></th>
+<td class="tableblock halign-left valign-top"><p class="tableblock">experimental,runtime</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
 <h2 id="kudu-tserver_log_target_replay_size_mb"><a class="link" href="#kudu-tserver_log_target_replay_size_mb"><code>--log_target_replay_size_mb</code></a></h2>
 <div class="sectionbody">
 <div class="paragraph">
@@ -2988,6 +3268,10 @@ for informational purposes only. They are subject to change or be removed withou
       </li> 
       <li>
 
+          <a href="known_issues.html">Known Issues and Limitations</a> 
+      </li> 
+      <li>
+
           <a href="export_control.html">Export Control Notice</a> 
       </li> 
   </ul>
@@ -2997,7 +3281,7 @@ for informational purposes only. They are subject to change or be removed withou
 </div>
       <footer class="footer">
         <p class="small">
-        Copyright &copy; 2016 The Apache Software Foundation.  Last updated 2016-11-21 07:26:08 PST 
+        Copyright &copy; 2016 The Apache Software Foundation.  Last updated 2017-01-18 10:16:01 PST 
         </p>
       </footer>
     </div>

http://git-wip-us.apache.org/repos/asf/kudu-site/blob/9b792926/docs/kudu_impala_integration.html
----------------------------------------------------------------------
diff --git a/docs/kudu_impala_integration.html b/docs/kudu_impala_integration.html
index 675b65e..9b0d6bb 100644
--- a/docs/kudu_impala_integration.html
+++ b/docs/kudu_impala_integration.html
@@ -750,14 +750,13 @@ the mapping.</p>
 <pre class="highlight"><code class="language-sql" data-lang="sql">CREATE TABLE my_first_table
 (
   id BIGINT,
-  name STRING
+  name STRING,
+  PRIMARY KEY(id)
 )
 DISTRIBUTE BY HASH INTO 16 BUCKETS
+STORED AS KUDU
 TBLPROPERTIES(
-  'storage_handler' = 'com.cloudera.kudu.hive.KuduStorageHandler',
-  'kudu.table_name' = 'my_first_table',
   'kudu.master_addresses' = 'kudu-master.example.com:7051',
-  'kudu.key_columns' = 'id'
 );</code></pre>
 </div>
 </div>
@@ -766,29 +765,15 @@ TBLPROPERTIES(
 be listed first. Additionally, primary key columns are implicitly marked <code>NOT NULL</code>.</p>
 </div>
 <div class="paragraph">
-<p>The following table properties are required, and the <code>kudu.key_columns</code> property must
-contain at least one column.</p>
+<p>The following table property is required unless the <code>kudu_master_hosts</code> configuration
+flag has been specified for Impala:</p>
 </div>
 <div class="dlist">
 <dl>
-<dt class="hdlist1"><code>storage_handler</code></dt>
-<dd>
-<p>the mechanism used by Impala to determine the type of data source.
-For Kudu tables, this must be <code>com.cloudera.kudu.hive.KuduStorageHandler</code>.</p>
-</dd>
-<dt class="hdlist1"><code>kudu.table_name</code></dt>
-<dd>
-<p>the name of the table that Impala will create (or map to) in Kudu.</p>
-</dd>
 <dt class="hdlist1"><code>kudu.master_addresses</code></dt>
 <dd>
 <p>the list of Kudu masters Impala should communicate with.</p>
 </dd>
-<dt class="hdlist1"><code>kudu.key_columns</code></dt>
-<dd>
-<p>the comma-separated list of primary key columns, whose contents
-should not be nullable.</p>
-</dd>
 </dl>
 </div>
 <div class="paragraph">
@@ -800,59 +785,38 @@ See <a href="#partitioning_tables">Partitioning Tables</a>. The table creation e
 <div class="sect3">
 <h4 id="__code_create_table_as_select_code"><a class="link" href="#__code_create_table_as_select_code"><code>CREATE TABLE AS SELECT</code></a></h4>
 <div class="paragraph">
-<p>You can create a table by querying any other table or tables in Impala, using a <code>CREATE
-TABLE &#8230;&#8203; AS SELECT</code> statement. The following example imports all rows from an existing table
-<code>old_table</code> into a Kudu table <code>new_table</code>. The columns in <code>new_table</code> will have the
-same names and types as the columns in <code>old_table</code>, but you need to populate the <code>kudu.key_columns</code>
-property. In this example, the primary key columns are <code>ts</code> and <code>name</code>.</p>
+<p><code>CREATE TABLE AS SELECT</code> does not offer syntax to specify a primary key, and
+thus cannot be used to create a table in Kudu from Impala.</p>
+</div>
+<div class="paragraph">
+<p>Instead, a <code>CREATE TABLE</code> statement may be issued, followed by an <code>INSERT &#8230;&#8203; SELECT</code>
+statement. for example:</p>
 </div>
 <div class="listingblock">
 <div class="content">
 <pre class="highlight"><code class="language-sql" data-lang="sql">CREATE TABLE new_table
-DISTRIBUTE BY HASH INTO 16 BUCKETS
-TBLPROPERTIES(
-  'storage_handler' = 'com.cloudera.kudu.hive.KuduStorageHandler',
-  'kudu.table_name' = 'new_table',
-  'kudu.master_addresses' = 'kudu-master.example.com:7051',
-  'kudu.key_columns' = 'ts, name'
+(
+  ts BIGINT,
+  name STRING,
+  value DOUBLE,
+  PRIMARY KEY (ts, name)
 )
-AS SELECT * FROM old_table;</code></pre>
+DISTRIBUTE BY HASH(name) INTO 8 BUCKETS
+STORED AS KUDU;
+INSERT INTO new_table SELECT ts, name, value FROM old_table;</code></pre>
 </div>
 </div>
-<div class="admonitionblock note">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-note" title="Note"></i>
-</td>
-<td class="content">
-<div class="paragraph">
-<p>For <code>CREATE TABLE &#8230;&#8203; AS SELECT</code> we currently require that the first columns that are
-projected in the <code>SELECT</code> statement correspond to the Kudu table keys and are in the
-same order  (<code>ts</code> then <code>name</code> in the example above). If the default projection generated by <code><strong></code>
-does not meet this requirement, the user should avoid using <code></strong></code> and explicitly mention
-the columns to project, in the correct order.</p>
-</div>
-</td>
-</tr>
-</table>
-</div>
-<div class="paragraph">
-<p>You can refine the <code>SELECT</code> statement to only match the rows and columns you want
-to be inserted into the new table. You can also rename the columns by using syntax
-like <code>SELECT name as new_name</code>.</p>
-</div>
 </div>
 <div class="sect3">
-<h4 id="_pre_splitting_tables"><a class="link" href="#_pre_splitting_tables">Pre-Splitting Tables</a></h4>
+<h4 id="_specifying_tablet_partitioning"><a class="link" href="#_specifying_tablet_partitioning">Specifying Tablet Partitioning</a></h4>
 <div class="paragraph">
 <p>Tables are divided into tablets which are each served by one or more tablet
 servers. Ideally, tablets should split a table&#8217;s data relatively equally. Kudu currently
 has no mechanism for automatically (or manually) splitting a pre-existing tablet.
-Until this feature has been implemented, <strong>you must pre-split your table when you create
-it</strong>. When designing your table schema, consider primary keys that will allow you to
-pre-split your table into tablets which grow at similar rates. You can provide split
-points using a <code>DISTRIBUTE BY</code> clause when creating a table using Impala:</p>
+Until this feature has been implemented, <strong>you must specify your partitioning when
+creating a table</strong>. When designing your table schema, consider primary keys that will allow you to
+split your table into partitions which grow at similar rates. You can designate
+partitions using a <code>DISTRIBUTE BY</code> clause when creating a table using Impala:</p>
 </div>
 <div class="admonitionblock note">
 <table>
@@ -881,97 +845,37 @@ they are not used in their keyword sense.
   last_purchase_date BIGINT,
   category STRING,
   sku STRING,
-  rating INT,
+  rating INT,af4165ef333822510b4fe13cb2a2d324e37ec786
   fulfilled_date BIGINT
 )
 DISTRIBUTE BY RANGE (_id)
-  SPLIT ROWS((1439560049342),
-             (1439566253755),
-             (1439572458168),
-             (1439578662581),
-             (1439584866994),
-             (1439591071407))
-TBLPROPERTIES(
-  'storage_handler' = 'com.cloudera.kudu.hive.KuduStorageHandler',
-  'kudu.table_name' = 'cust_behavior',
-  'kudu.master_addresses' = 'a1216.halxg.cloudera.com:7051',
-  'kudu.key_columns' = '_id',
-  'kudu.num_tablet_replicas' = '3'
-);</code></pre>
+(
+    PARTITION VALUES &lt; 1439560049342,
+    PARTITION 1439560049342 &lt;= VALUES &lt; 1439566253755,
+    PARTITION 1439566253755 &lt;= VALUES &lt; 1439572458168,
+    PARTITION 1439572458168 &lt;= VALUES &lt; 1439578662581,
+    PARTITION 1439578662581 &lt;= VALUES &lt; 1439584866994,
+    PARTITION 1439584866994 &lt;= VALUES &lt; 1439591071407,
+    PARTITION 1439591071407 &lt;= VALUES
+)
+STORED AS KUDU;</code></pre>
 </div>
 </div>
 <div class="paragraph">
-<p>If you have multiple primary key columns, you can specify split points by separating
-them with commas within the inner brackets: <code>(('va',1), ('ab',2))</code>. The expression
-must be valid JSON.</p>
+<p>If you have multiple primary key columns, you can specify partition bounds
+using tuple syntax: <code>('va',1), ('ab',2)</code>. The expression must be valid JSON.</p>
 </div>
 </div>
 <div class="sect3">
 <h4 id="_impala_databases_and_kudu"><a class="link" href="#_impala_databases_and_kudu">Impala Databases and Kudu</a></h4>
 <div class="paragraph">
-<p>Impala uses a database containment model. In Impala, you can create a table within a specific
-scope, referred to as a <em>database</em>. To create the database, use a <code>CREATE DATABASE</code>
-statement. To use the database for further Impala operations such as <code>CREATE TABLE</code>,
-use the <code>USE</code> statement. For example, to create a table in a database called <code>impala_kudu</code>,
-use the following statements:</p>
-</div>
-<div class="admonitionblock note">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-note" title="Note"></i>
-</td>
-<td class="content">
-Impala uses a namespace mechanism to allow for tables to be created within different
-scopes, called <code>databases</code>. To create a database, use a <code>CREATE DATABASE</code>
-statement. To use the database for further Impala operations such as <code>CREATE TABLE</code>,
-use the <code>USE</code> statement. For example, to create a table in a database called <code>impala_kudu</code>,
-use the following SQL:
-</td>
-</tr>
-</table>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="highlight"><code class="language-sql" data-lang="sql">CREATE DATABASE impala_kudu;
-USE impala_kudu;
-CREATE TABLE my_first_table (
-  id BIGINT,
-  name STRING
-)
-DISTRIBUTE BY HASH INTO 4 BUCKETS
-TBLPROPERTIES(
-  'storage_handler' = 'com.cloudera.kudu.hive.KuduStorageHandler',
-  'kudu.table_name' = 'my_first_table',
-  'kudu.master_addresses' = 'kudu-master.example.com:7051',
-  'kudu.key_columns' = 'id'
-);</code></pre>
-</div>
+<p>Every Impala table is contained within a namespace called a <em>database</em>. The default
+database is called <code>default</code>, and users may create and drop additional databases
+as desired.</p>
 </div>
 <div class="paragraph">
-<p>The <code>my_first_table</code> table is created within the <code>impala_kudu</code> database. To refer
-to this database in the future, without using a specific <code>USE</code> statement, you can
-refer to the table using <code>&lt;database&gt;.&lt;table&gt;</code> syntax. For example, to specify the
-<code>my_first_table</code> table in database <code>impala_kudu</code>, as opposed to any other table with
-the same name in another database, use <code>impala_kudu.my_first_table</code>. This also applies
-to <code>INSERT</code>, <code>UPDATE</code>, <code>DELETE</code>, and <code>DROP</code> statements.</p>
-</div>
-<div class="admonitionblock warning">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-warning" title="Warning"></i>
-</td>
-<td class="content">
-Currently, Kudu does not encode the Impala database into the table name
-in any way. This means that even though you can create Kudu tables within Impala databases,
-the actual Kudu tables need to be unique within Kudu. For example, if you create <code>database_1.my_kudu_table</code>
-and <code>database_2.my_kudu_table</code>, you will have a naming collision within Kudu, even
-though this would not cause a problem in Impala. This can be resolved by specifying
-a unique Kudu table name in the <code>kudu.table_name</code> property.
-</td>
-</tr>
-</table>
+<p>When a managed Kudu table is created from within Impala, the corresponding
+Kudu table will be named <code>my_database::table_name</code>.</p>
 </div>
 </div>
 <div class="sect3">
@@ -979,7 +883,6 @@ a unique Kudu table name in the <code>kudu.table_name</code> property.
 <div class="paragraph">
 <p>The following Impala keywords are not supported when creating Kudu tables:
 - <code>PARTITIONED</code>
-- <code>STORED AS</code>
 - <code>LOCATION</code>
 - <code>ROWFORMAT</code></p>
 </div>
@@ -989,22 +892,14 @@ a unique Kudu table name in the <code>kudu.table_name</code> property.
 <h3 id="_optimizing_performance_for_evaluating_sql_predicates"><a class="link" href="#_optimizing_performance_for_evaluating_sql_predicates">Optimizing Performance for Evaluating SQL Predicates</a></h3>
 <div class="paragraph">
 <p>If the <code>WHERE</code> clause of your query includes comparisons with the operators
-<code>=</code>, <code>&lt;=</code>, or <code>&gt;=</code>, Kudu evaluates the condition directly and only returns the
-relevant results. This provides optimum performance, because Kudu only returns the
-relevant results to Impala. For predicates <code>&lt;</code>, <code>&gt;</code>, <code>!=</code>, or any other predicate
-type supported by Impala, Kudu does not evaluate the predicates directly, but returns
-all results to Impala and relies on Impala to evaluate the remaining predicates and
+<code>=</code>, <code>&lt;=</code>, '\&lt;', '\&gt;', <code>&gt;=</code>, <code>BETWEEN</code>, or <code>IN</code>, Kudu evaluates the condition directly
+and only returns the relevant results. This provides optimum performance, because Kudu
+only returns the relevant results to Impala. For predicates <code>!=</code>, <code>LIKE</code>, or any other
+predicate type supported by Impala, Kudu does not evaluate the predicates directly, but
+returns all results to Impala and relies on Impala to evaluate the remaining predicates and
 filter the results accordingly. This may cause differences in performance, depending
 on the delta of the result set before and after evaluating the <code>WHERE</code> clause.</p>
 </div>
-<div class="paragraph">
-<p>In the <code>CREATE TABLE</code> statement, the first column must be the primary key. Additionally,
-the primary key can never be NULL when inserting or updating a row.</p>
-</div>
-<div class="paragraph">
-<p>All properties in the <code>TBLPROPERTIES</code> statement are required, and the <code>kudu.key_columns</code>
-must contain at least one column.</p>
-</div>
 </div>
 <div class="sect2">
 <h3 id="partitioning_tables"><a class="link" href="#partitioning_tables">Partitioning Tables</a></h3>
@@ -1018,10 +913,9 @@ discussion of schema design in Kudu, see <a href="schema_design.html">Schema Des
 </div>
 <div class="paragraph">
 <p>Kudu currently has no mechanism for splitting or merging tablets after the table has
-been created. Until this feature has been implemented, you must provide a partition
-schema for your table when you create it. When designing your tables, consider using
-primary keys that will allow you to partition your table into tablets which grow
-at similar rates.</p>
+been created. You must provide a partition schema for your table when you create it.
+When designing your tables, consider using primary keys that will allow you to partition
+your table into tablets which grow at similar rates.</p>
 </div>
 <div class="paragraph">
 <p>You can partition your table using Impala&#8217;s <code>DISTRIBUTE BY</code> keyword, which
@@ -1048,17 +942,10 @@ they are used as identifiers, rather than as keywords.
 <h4 id="basic_partitioning"><a class="link" href="#basic_partitioning">Basic Partitioning</a></h4>
 <div class="paragraph">
 <div class="title"><code>DISTRIBUTE BY RANGE</code></div>
-<p>You can specify split rows for one or more primary key columns that contain integer
-or string values. Range partitioning in Kudu allows splitting a table based based
-on the lexicographic order of its primary keys. This allows you to balance parallelism
-in writes with scan efficiency.</p>
-</div>
-<div class="paragraph">
-<p>The split row does not need to exist. It defines an exclusive bound in the form of:
-<code>(START_KEY, SplitRow), [SplitRow, STOP_KEY)</code> In other words, the split row, if
-it exists, is included in the tablet after the split point. For instance, if you
-specify a split row <code>abc</code>, a row <code>abca</code> would be in the second tablet, while a row
-<code>abb</code> would be in the first.</p>
+<p>You can specify range partitions for one or more primary key columns.
+Range partitioning in Kudu allows splitting a table based based on
+specific values or ranges of values of the chosen partition keys. This allows
+you to balance parallelism in writes with scan efficiency.</p>
 </div>
 <div class="paragraph">
 <p>Suppose you have a table that has columns <code>state</code>, <code>name</code>, and <code>purchase_count</code>. The
@@ -1089,20 +976,18 @@ addition to, <code>RANGE</code>.</p>
   state STRING,
   name STRING,
   purchase_count int32,
+  PRIMARY KEY (state, name)
 )
 DISTRIBUTE BY RANGE (state)
-  SPLIT ROWS (('al'),
-              ('ak'),
-              ('ar'),
-              ...
-              ('wv'),
-              ('wy'))
-TBLPROPERTIES(
-  'storage_handler' = 'com.cloudera.kudu.hive.KuduStorageHandler',
-  'kudu.table_name' = 'customers',
-  'kudu.master_addresses' = 'kudu-master.example.com:7051',
-  'kudu.key_columns' = 'state, name'
-);</code></pre>
+(
+  VALUES = 'al',
+  VALUES = 'ak',
+  VALUES = 'ar',
+  ...
+  VALUES = 'wv',
+  VALUES = 'wy'
+)
+STORED AS KUDU;</code></pre>
 </div>
 </div>
 <div id="distribute_by_hash" class="paragraph">
@@ -1161,15 +1046,11 @@ this table. See <a href="#advanced_partitioning">Advanced Partitioning</a> for a
   last_purchase_date BIGINT,
   category STRING,
   rating INT,
-  fulfilled_date BIGINT
+  fulfilled_date BIGINT,
+  PRIMARY KEY (id, sku)
 )
 DISTRIBUTE BY HASH INTO 16 BUCKETS
-TBLPROPERTIES(
-  'storage_handler' = 'com.cloudera.kudu.hive.KuduStorageHandler',
-  'kudu.table_name' = 'cust_behavior',
-  'kudu.master_addresses' = 'kudu-master.example.com:7051',
-  'kudu.key_columns' = 'id, sku'
-);</code></pre>
+STORED AS KUDU;</code></pre>
 </div>
 </div>
 </div>
@@ -1183,7 +1064,7 @@ schema is out of the scope of this document, a few examples illustrate some of t
 possibilities.</p>
 </div>
 <div class="paragraph">
-<div class="title"><code>DISTRIBUTE BY RANGE</code> Using Compound Split Rows</div>
+<div class="title"><code>DISTRIBUTE BY RANGE</code> Using Composite Partition Keys</div>
 <p>This example creates 100 tablets, two for each US state. Per state, the first tablet
 holds names starting with characters before 'm', and the second tablet holds names
 starting with 'm'-'z'. Writes are spread across at least 50 tablets, and possibly
@@ -1197,21 +1078,19 @@ read from at most 50 tablets.</p>
   state STRING,
   name STRING,
   purchase_count int32,
+  PRIMARY KEY (state, name)
 )
 DISTRIBUTE BY RANGE (state, name)
-  SPLIT ROWS (('al', ''),
-              ('al', 'm'),
-              ('ak', ''),
-              ('ak', 'm'),
-              ...
-              ('wy', ''),
-              ('wy', 'm'))
-TBLPROPERTIES(
-  'storage_handler' = 'com.cloudera.kudu.hive.KuduStorageHandler',
-  'kudu.table_name' = 'customers',
-  'kudu.master_addresses' = 'kudu-master.example.com:7051',
-  'kudu.key_columns' = 'state, name'
-);</code></pre>
+(
+  PARTITION ('al', '')  &lt;= VALUES &lt; ('al', 'm'),
+  PARTITION ('al', 'm') &lt;= VALUES &lt; ('ak', '')
+  PARTITION ('ak', '')  &lt;= VALUES &lt; ('ak', 'm'),
+  PARTITION ('ak', 'm') &lt;= VALUES &lt; ('ar', ''),
+  ...
+  PARTITION ('wy', '')  &lt;= VALUES &lt; ('wy', 'm'),
+  PARTITION ('wy', 'm') &lt;= VALUES
+)
+STORED AS KUDU;</code></pre>
 </div>
 </div>
 </div>
@@ -1257,19 +1136,18 @@ BY HASH (id, sku)</code>.
   last_purchase_date BIGINT,
   category STRING,
   rating INT,
-  fulfilled_date BIGINT
+  fulfilled_date BIGINT,
+  PRIMARY KEY (id, sku)
 )
 DISTRIBUTE BY HASH (id) INTO 4 BUCKETS,
 RANGE (sku)
-  SPLIT ROWS (('g'),
-              ('o'),
-              ('u'))
-TBLPROPERTIES(
-  'storage_handler' = 'com.cloudera.kudu.hive.KuduStorageHandler',
-  'kudu.table_name' = 'cust_behavior',
-  'kudu.master_addresses' = 'kudu-master.example.com:7051',
-  'kudu.key_columns' = 'id, sku'
-);</code></pre>
+(
+  PARTITION VALUES &lt; 'g',
+  PARTITION 'g' &lt;= VALUES &lt; 'o',
+  PARTITION 'o' &lt;= VALUES &lt; 'u',
+  PARTITION 'u' &lt;= VALUES
+)
+STORED AS KUDU;</code></pre>
 </div>
 </div>
 <div class="paragraph">
@@ -1294,16 +1172,12 @@ both primary key columns.</p>
   last_purchase_date BIGINT,
   category STRING,
   rating INT,
-  fulfilled_date BIGINT
+  fulfilled_date BIGINT,
+  PRIMARY KEY (id, sku)
 )
 DISTRIBUTE BY HASH (id) INTO 4 BUCKETS,
               HASH (sku) INTO 4 BUCKETS
-TBLPROPERTIES(
-  'storage_handler' = 'com.cloudera.kudu.hive.KuduStorageHandler',
-  'kudu.table_name' = 'cust_behavior',
-  'kudu.master_addresses' = 'kudu-master.example.com:7051',
-  'kudu.key_columns' = 'id, sku'
-);</code></pre>
+STORED AS KUDU;</code></pre>
 </div>
 </div>
 <div class="paragraph">
@@ -1311,6 +1185,56 @@ TBLPROPERTIES(
 However, a scan for <code>sku</code> values would almost always impact all 16 buckets, rather
 than possibly being limited to 4.</p>
 </div>
+<div class="paragraph">
+<div class="title">Non-Covering Range Partitions</div>
+<p>Kudu 1.0 and higher supports the use of non-covering range partitions,
+which address scenarios like the following:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Without non-covering range partitions, in the case of time-series data or other
+schemas which need to account for constantly-increasing primary keys, tablets
+serving old data will be relatively fixed in size, while tablets receiving new
+data will grow without bounds.</p>
+</li>
+<li>
+<p>In cases where you want to partition data based on its category, such as sales
+region or product type, without non-covering range partitions you must know all
+of the partitions ahead of time or manually recreate your table if partitions
+need to be added or removed, such as the introduction or elimination of a product
+type.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Non-covering range partitions have some caveats. Be sure to read the
+link:/docs/schema_design.html [Schema Design guide].</p>
+</div>
+<div class="paragraph">
+<p>This example creates a tablet per year (5 tablets total), for storing log data.
+The table only accepts data from 2012 to 2016. Keys outside of these
+ranges will be rejected.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlight"><code class="language-sql" data-lang="sql">CREATE TABLE sales_by_year (year INT32, sale_id INT32, amount INT32)
+PRIMARY KEY (sale_id, year)
+DISTRIBUTE BY RANGE (year)
+(
+  PARTITION VALUES = 2012,
+  PARTITION VALUES = 2013,
+  PARTITION VALUES = 2014,
+  PARTITION VALUES = 2015,
+  PARTITION VALUES = 2016
+);</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>When records start coming in for 2017, they will be rejected. At that point, the <code>2017</code>
+range should be added. Impala 2.8 and higher support this functionality using
+the <code>ALTER TABLE [ADD|DROP] RANGE PARTITION</code> statements.</p>
+</div>
 </div>
 <div class="sect3">
 <h4 id="partitioning_rules_of_thumb"><a class="link" href="#partitioning_rules_of_thumb">Partitioning Rules of Thumb</a></h4>
@@ -1435,23 +1359,21 @@ Impala storage types.</p>
 </div>
 </div>
 <div class="sect3">
-<h4 id="insert_ignore"><a class="link" href="#insert_ignore"><code>INSERT</code> and the <code>IGNORE</code> Keyword</a></h4>
+<h4 id="insert_ignore"><a class="link" href="#insert_ignore"><code>INSERT</code> and Primary Key Uniqueness Violations</a></h4>
 <div class="paragraph">
-<p>Normally, if you try to insert a row that has already been inserted, the insertion
+<p>In most relational databases, if you try to insert a row that has already been inserted, the insertion
 will fail because the primary key would be duplicated. See <a href="#impala_insertion_caveat">Failures During <code>INSERT</code>, <code>UPDATE</code>, and <code>DELETE</code> Operations</a>.
-If an insert fails part of the way through, you can re-run the insert, using the
-<code>IGNORE</code> keyword, which will ignore only those errors returned from Kudu indicating
-a duplicate key..</p>
+Impala, however, will not fail the query. Instead, it will generate a warning, but continue
+to execute the remainder of the insert statement.</p>
 </div>
 <div class="paragraph">
-<p>The first example will cause an error if a row with the primary key <code>99</code> already exists.
-The second example will still not insert the row, but will ignore any error and continue
-on to the next SQL statement.</p>
+<p>If the inserted rows are meant to replace existing rows, <code>UPSERT</code> may be used instead of <code>INSERT</code>.</p>
 </div>
 <div class="listingblock">
 <div class="content">
 <pre class="highlight"><code class="language-sql" data-lang="sql">INSERT INTO my_first_table VALUES (99, "sarah");
-INSERT IGNORE INTO my_first_table VALUES (99, "sarah");</code></pre>
+UPSERT INTO my_first_table VALUES (99, "zoe");
+-- the current value of the row is 'zoe'</code></pre>
 </div>
 </div>
 </div>
@@ -1482,18 +1404,9 @@ Kudu.
 <p>You can update in bulk using the same approaches outlined in
 <a href="#kudu_impala_insert_bulk">Inserting In Bulk</a>.</p>
 </div>
-</div>
-<div class="sect3">
-<h4 id="__code_update_code_and_the_code_ignore_code_keyword"><a class="link" href="#__code_update_code_and_the_code_ignore_code_keyword"><code>UPDATE</code> and the <code>IGNORE</code> Keyword</a></h4>
-<div class="paragraph">
-<p>Similarly to <a href="#insert_ignore"><code>INSERT</code> and the <code>IGNORE</code> Keyword</a>, you can use the <code>IGNORE</code> operation to ignore an <code>UPDATE</code>
-which would otherwise fail. For instance, a row may be deleted while you are
-attempting to update it. In Impala, this would cause an error. The <code>IGNORE</code>
-keyword causes the error to be ignored.</p>
-</div>
 <div class="listingblock">
 <div class="content">
-<pre class="highlight"><code class="language-sql" data-lang="sql">UPDATE IGNORE my_first_table SET name="bob" where id = 3;</code></pre>
+<pre class="highlight"><code class="language-sql" data-lang="sql">UPDATE my_first_table SET name="bob" where age &gt; 10;</code></pre>
 </div>
 </div>
 </div>
@@ -1534,18 +1447,9 @@ Kudu.
 <p>You can delete in bulk using the same approaches outlined in
 <a href="#kudu_impala_insert_bulk">Inserting In Bulk</a>.</p>
 </div>
-</div>
-<div class="sect3">
-<h4 id="__code_delete_code_and_the_code_ignore_code_keyword"><a class="link" href="#__code_delete_code_and_the_code_ignore_code_keyword"><code>DELETE</code> and the <code>IGNORE</code> Keyword</a></h4>
-<div class="paragraph">
-<p>Similarly to <a href="#insert_ignore"><code>INSERT</code> and the <code>IGNORE</code> Keyword</a>, you can use the <code>IGNORE</code> operation to ignore an <code>DELETE</code>
-which would otherwise fail. For instance, a row may be deleted by another process
-while you are attempting to delete it. In Impala, this would cause an error. The
-<code>IGNORE</code> keyword causes the error to be ignored.</p>
-</div>
 <div class="listingblock">
 <div class="content">
-<pre class="highlight"><code class="language-sql" data-lang="sql">DELETE IGNORE FROM my_first_table WHERE id &lt; 3;</code></pre>
+<pre class="highlight"><code class="language-sql" data-lang="sql">DELETE FROM my_first_table WHERE id &lt; 3;</code></pre>
 </div>
 </div>
 </div>
@@ -1557,7 +1461,7 @@ while you are attempting to delete it. In Impala, this would cause an error. The
 a whole. If one of these operations fails part of the way through, the keys may
 have already been created (in the case of <code>INSERT</code>) or the records may have already
 been modified or removed by another process (in the case of <code>UPDATE</code> or <code>DELETE</code>).
-You should design your application with this in mind. See <a href="#insert_ignore"><code>INSERT</code> and the <code>IGNORE</code> Keyword</a>.</p>
+You should design your application with this in mind.</p>
 </div>
 </div>
 <div class="sect2">
@@ -1565,8 +1469,7 @@ You should design your application with this in mind. See <a href="#insert_ignor
 <div class="paragraph">
 <p>You can change Impala&#8217;s metadata relating to a given Kudu table by altering the table&#8217;s
 properties. These properties include the table name, the list of Kudu master addresses,
-and whether the table is managed by Impala (internal) or externally. You cannot modify
-a table&#8217;s split rows after table creation.</p>
+and whether the table is managed by Impala (internal) or externally.</p>
 </div>
 <div class="admonitionblock important">
 <table>
@@ -1672,21 +1575,13 @@ external table in Impala.</p>
 <p>Impala can not update values in primary key columns.</p>
 </li>
 <li>
-<p><code>NULL</code>, <code>NOT NULL</code>, <code>!=</code>, and <code>IN</code> predicates are not pushed to Kudu, and
+<p><code>NULL</code>, <code>NOT NULL</code>, <code>!=</code>, and <code>LIKE</code> predicates are not pushed to Kudu, and
 instead will be evaluated by the Impala scan node.</p>
 </li>
 <li>
-<p>Impala can not specify column encoding or compression during Kudu table
-creation, or alter a columns encoding or compression.</p>
-</li>
-<li>
 <p>Impala can not create Kudu tables with bounded range partitions, and can not
 alter a table to add or remove range partitions.</p>
 </li>
-<li>
-<p>When bulk writing to a Kudu table, performance may be improved by setting the
-<code>batch_size</code> option (see <a href="#kudu_impala_insert_bulk">Inserting In Bulk</a>).</p>
-</li>
 </ul>
 </div>
 </div>
@@ -1790,6 +1685,10 @@ alter a table to add or remove range partitions.</p>
       </li> 
       <li>
 
+          <a href="known_issues.html">Known Issues and Limitations</a> 
+      </li> 
+      <li>
+
           <a href="export_control.html">Export Control Notice</a> 
       </li> 
   </ul>
@@ -1799,7 +1698,7 @@ alter a table to add or remove range partitions.</p>
 </div>
       <footer class="footer">
         <p class="small">
-        Copyright &copy; 2016 The Apache Software Foundation.  Last updated 2016-11-14 15:52:59 PST 
+        Copyright &copy; 2016 The Apache Software Foundation.  Last updated 2017-01-12 20:05:28 PST 
         </p>
       </footer>
     </div>