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>

Reply via email to